什么是类型推导?
- 当我们声明了一个变量但是没有定义类型时,TS会在没有明确的指定类型的时候推测出一个类型,这就是类型推导。
- 当声明变量没有定义类型也没有赋值时,TS会推断成any类型,可以进行任何操作
类型别名:type关键字(可以给一个类型定义一个名字)多用于复合类型
//定义类型别名
type str = string;
let s: str = "张三";
//定义函数别名
type num = () => number;
let n: num = () => 123;
//定义联合类型别名
type bool = boolean | string;
let b: bool = false;
let s: bool = "123";
//定义值的别名
type val = boolean | null | undefined;
let value: val = true;
type和interface的区别
- interface可以继承;type只能通过&交叉类型合并。
- type可以定义联合类型和可以使用一些操作符;interface不行。
- interface遇到重名的会合并;type不会。