学过js你认识的类型:boolean
、number
、string
、undefined
、null
、symbol
、object
你可能不认识的类型:void
、any
、unknown
、never
- 类型声明是TS非常重要的一个特点,通过类型声明可以指定TS中变量(参数、形参)的类型。指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
- TS拥有自动的类型判断机制:当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型,所以如果你的变量的声明和赋值时同时进行的,可以省略掉类型声明
- js中的函数是不考虑参数的类型和个数的,而TS的函数参数不仅限制个数还限制类型。
我们先来看看,TypeScript给变量指定类型的语法(类型注解)是什么
对象
一般来说,我们对于对象的类型检查一般是检查对象中有哪些属性,属性是什么类型。
可以用{}
来指定对象中可以包含哪些属性 语法:{属性名: 属性类型, ...}
属性多了少了都不行
可选属性,在属性名后面加一个 ?
let obj: {name: string, age?: number}
obj = {name: 'yk', age: 18}
obj = {name: 'yk'}
如果后续属性不确定叫什么名字,也不确定是什么类型,那么可以这样写[propName: string]: unknown
// 定义对象结构
let obj: { name: string, [propName: string]: u