fe-interview icon indicating copy to clipboard operation
fe-interview copied to clipboard

[TypeScript] 第1508天 在TypeScript中interface与type有什么区别?

Open haizhilin2013 opened this issue 2 years ago • 2 comments

第1508天 在TypeScript中interface与type有什么区别?

3+1官网

我也要出题

haizhilin2013 avatar Jun 01 '23 20:06 haizhilin2013

Interface: 接口

特点: 1,可以用来定义描述对象形式的结构,包含属性,方法,函数签名等. 2. 可以进行扩展,支持继承其他接口 3. 可以被类实现(implements)

Type: 类型别名 特点

  1. 可以用于定义任意的数据类型,包裹基本类型,联合类型,交叉类型,函数类型等
  2. 可以通过联合类型实现类似接口的效果
  3. 不能被类实现

总结 interface 主要用于描述对象的形状,而 type 不仅可以描述对象形状,还可以描述任意类型。 interface 可以进行扩展,而 type 可以使用交叉类型实现相似的效果。 当你定义对象的形状时,优先选择 interface。如果需要联合类型、交叉类型、基本类型等,或者需要对现有类型取别名时,可以使用 type。

hemengzhao avatar Sep 26 '23 01:09 hemengzhao

问题和 https://github.com/haizlin/fe-interview/issues/2473 一致。

llccing avatar Jun 26 '24 06:06 llccing