跳到主要内容

Type 类型别名

2025年03月14日
柏拉文
越努力,越幸运

一、认识


二、问题


2.1 Interface 与 Type 的区别?

Type 可以描述一个对象或者函数, Type 还可以声明基本类型别名,联合类型, 元组等类型, Type 语句中还可以使用 typeof 获取实例的类型进行赋值。但是 Type 本身不能通过关键字扩展(extends)或被类实现(implements), 但可以借助交叉类型 & 来合并类型, 从而达到类似扩展的效果。 Type 则不支持 声明合并。两者并不是相互独立的, 也就是说 Interface 可以 extends Type, Type 也可以与 Interface 类型交叉 。当需要表达联合类型、交叉类型、元组甚至简单基本类型的别名时,Type 会更灵活。

Interface 可以描述一个对象或者函数, Interface 不可以描述基本类型。 Interface 可以 extendsimplementInterface 支持声明合并(可以多次声明同一接口并自动合并) 。两者并不是相互独立的, 也就是说 Interface 可以 extends Type, Type 也可以与 Interface 类型交叉 。当只需要描述对象或函数的结构时,推荐使用 Interface, 因为其扩展和声明合并特性更适合面向对象的设计。