目录
一、类型声明
- 通过类型声明可以指定TS中变量(参数、形参)的类型;
- 指定类型之后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,不符合则报错;
- 简而言之,类型声明给变量设置了类型,使得变量只能储存某种类型的值。
二、语法
let 变量: 类型;
let 变量: 类型 = 值;
function fn(参数: 类型,参数: 类型): 类型{
... ...
}
三、自动类型判断
- TS拥有自动的类型判断机制;
- 当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型;
- 当变量的声明和赋值是同时进行时,可以省略掉类型声明。
四、所有类型
类型 | 例子 | 描述 |
---|---|---|
number | 1,2,-3 | 任意数字 |
string | 'hi','word' | 任意字符串 |
boolean | true,false | 布尔值 |
字面量 | 其本身 | 限制变量的值就是该字面量的值 |
any | * | 任意类型 |
unknown | * | 类型安全的any |
void | 空值(undefined) | 没有值(或undefined) |
never | 没有值 | 不能是任何值 |
object | {name:'瓜皮'} | 任意的js对象 |
array | [1,2,3] | 任意js数组 |
tuple | [4,5] | 元素,TS新增类型,固定长度数组 |
enum | enum{A,B} | 枚举,TS新增类型 |
五、类型声明实例
1、number
2、string
3、boolean
4、字面量
5、any
6、unknown
7、void
8、never
9、object
10、array
11、tuple
12、enum
13、函数
六、类型断言
作用:用来告诉解析器变量的实际类型
语法:
// 变量 as 类型
a = b as string;
// <类型>变量
a = <string>b;
七、类型的别名
type myType = 1 | 2 | 3 | 4;
let a: myType;
let b: myType;
let c: myType;
let d: myType;
a = 3; // 符合
a = 7; // 不能将类型“7”分配给类型“myType”