Typescript中的interface,type和class的相同点和不同点

感觉他们很像是不是?

他们确实有一些相同点:

相同点:

它们都可以用来描述对象的形状,即属性和方法。它们都可以被继承或实现,形成新的类型或类。它们都可以使用泛型参数,增加类型的灵活性和复用性。

不同点:
  • type 是类型别名,interface 是接口,class 是类。
  • type 可以给任何类型定义一个新的名字,包括基本类型、联合类型、元组等。
  • interface 只能描述对象的形状,不能描述其他类型。
  • class 不仅可以描述对象的形状,还可以定义对象的行为和状态,即方法和属性的实现。
  • type 不可以被 extends 和 implements,interface 可以。
  • type 支持计算属性,interface 不支持。
  • class 可以有构造函数、静态属性、私有属性等特性,type 和 interface 不可以。
    下面是一张他们之间不同点的归纳图:
    Typescript中的interface,type和class的相同点和不同点_第1张图片

有帮助就收藏吧。

你可能感兴趣的:(typescript,开发语言,前端,vue.js)