我有這樣的代碼:DRY與打字稿和構造函數選項對象
export interface LDAPPoolOpts {
id: number;
size: number;
connOpts: any;
active: Array<any>;
inactive: Array<any>;
dn: string;
pwd: string;
waitingForClient: Array<Function>
}
export class Pool {
id: number;
size: number;
connOpts: any;
active: Array<any>;
inactive: Array<any>;
dn: string;
pwd: string;
waitingForClient: Array<Function>;
constructor(opts: LDAPPoolOpts) {}
}
,你可以看到構造該類只是需要一個選項與類型的對象:LDAPPoolOpts
。
我的問題是:如何避免重複自己必須爲類和選項對象接口聲明完全相同的字段?
您不能擴展接口..並且實現接口並不意味着您繼承了接口的字段。
我應該聲明一個類型而不是接口嗎?
是的,這可能是一個很好的解決方案,將清理一些東西。絕對惱人的是必須在兩個不同的地方保留相同的確切屬性列表。 –