变量(类型)声明
格式:关键字 变量名称:类型=值 (强类型) / 关键字 变量名称=值
例子:
Array数组声明
Tuple元组类型
声明一个包含多类型的数组;
Enum枚举类型
默认情况下,enums从0开始编号。
也可以手动设置其中一个成员的值来更改这个值,前边的元素编号从0开始,设置编号的元素之后的元素编号按照设置的编号顺延。
也可以设置每一个元素的编号。
Any类型
声明为any类型的变量可以赋值任何类型的值。即不进行类型检查。
只允许给它们赋值——你不能调用任意的方法,即使是那些实际上存在的方法。编译过程中不会出错,但是运行时会报错。
如果声明是指定类型,那么在编译过程中就会进行类型检查
声明一个any类型的数组,数组中的值也是可以随意赋值的。
Void类型
void完全没有任何类型。通常将此视为不返回值的函数的返回类型;声明为void的变量,只能赋值null或者undefined。
null 和 undefined
默认情况下为 null 和undefined为所有其他类型的子类型。也就是说可以分配 null 值和undefined给其他类型的变量。
--strictNullChecks关于严格空检查待续;
Type assertions类型转换
类型转换,但不进行特殊的数据检查或重构。
转换过程中,如果目标类型与原类型是无法完成转换,那么在编译或者运行时都不会报错。
两种转换方式可以说是等价的,但是具体问题还得具体分析。when using TypeScript with JSX。只允许使用as的转换方式。