感觉他们很像是不是?
他们确实有一些相同点:
相同点:
它们都可以用来描述对象的形状,即属性和方法。它们都可以被继承或实现,形成新的类型或类。它们都可以使用泛型参数,增加类型的灵活性和复用性。
不同点:
- type 是类型别名,interface 是接口,class 是类。
- type 可以给任何类型定义一个新的名字,包括基本类型、联合类型、元组等。
- interface 只能描述对象的形状,不能描述其他类型。
- class 不仅可以描述对象的形状,还可以定义对象的行为和状态,即方法和属性的实现。
- type 不可以被 extends 和 implements,interface 可以。
- type 支持计算属性,interface 不支持。
- class 可以有构造函数、静态属性、私有属性等特性,type 和 interface 不可以。
下面是一张他们之间不同点的归纳图:
有帮助就收藏吧。