typescript 类型推论 | 类型别名

137 阅读1分钟

什么是类型推导?

  • 当我们声明了一个变量但是没有定义类型时,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不会。

PixPin_2024-05-22_20-45-56.png