TypeScript用于初始数据可以使用接口类型或类类型哪种方法更好?

时间:2018-07-21 06:08:20

标签: angular typescript

在TypeScript中获取初始数据可以使用接口类型或类类型
哪种方法更好?

export interface Item{
    text: string,
    value: number
}

itemModel: ItemComboBox = {
    value:'value1',
    text: 'text1'
  };

班级:

export class Item{
  constructor(
     public text: string,
     public value: string) { }
}
itemModel= new Item("text1", "value1"); 

1 个答案:

答案 0 :(得分:4)

是如果您需要创建一个可能是自定义对象的实例,同时获得类型检查(例如,参数,返回类型或泛型)之类的好处-一个类很有意义。如果您不创建实例-我们可以使用接口,那么它们的好处是不生成任何源代码,而是允许我们在某种程度上“虚拟”地对我们的代码进行类型检查。

由于接口和类都定义了对象的结构,并且在某些情况下可以互换使用,所以值得注意的是,如果需要在各种类之间共享结构定义,则可以在接口中定义该结构,然后让每个类都实现该接口!然后,每个类都必须声明或实现接口的每个属性。这就是TypeScript的强大功能,而且非常灵活。我们拥有全面的面向对象设计和通用的类型检查。

因此,对于定义简单数据类型,我认为接口是更好的解决方案。