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

Moh*_*iri 0 typescript angular

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

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

itemModel: ItemComboBox = {
    value:'value1',
    text: 'text1'
  };
Run Code Online (Sandbox Code Playgroud)

类:

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

Fat*_*zli 5

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

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

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