一堆构造函数属性的TypeScript定义类型

时间:2019-02-10 07:13:42

标签: javascript typescript types interface

我有以下代码,我想知道是否可以通过接口来更有效地改进它,以减少类中构造函数属性的类型声明:

class sample {
sample1: string;
sample2: string;
sample3: number;
sample4: string[];
sample5: string;
sample6: string;
sample7: number;
sample8: string[];
sample9: string;
sample10: string;
sample11: number;
sample12: string[];

constructor (){
this.sample1= ''
this.sample2= ''
this.sample3= 2
this.sample4= [x,y,z]
this.sample5= ''
this.sample6= ''
this.sample7= 0
this.sample8= [a,b,c,d]
this.sample9= ''
this.sample10= 'sample';
this.sample11= 1;
this.sample12= [some,sample,text];
}

setSampleMethod = (text) => {
this.sample10 = text

}


}

1 个答案:

答案 0 :(得分:0)

您可以创建一个模型类,其中定义了getters / setter,而不是使用接口,然后将该模型扩展到您的类中。

请通过以下StackBlitz获取示例代码:
https://stackblitz.com/edit/angular-elss2i

在这里您可以看到,我还将默认值移到了构造函数的参数中。这将帮助您在需要时将参数传递给构造函数。