私はtypescriptを使い慣れていて、私のコードには多くの繰り返し(data1、data2、data3 ...)があります。OOP/Typescript - クラスコンストラクタがインタフェースされたオブジェクトをparamとして持つ場合、コードを最適化することは可能ですか?
export interface ProjectInterface{
data1: string;
data2: string;
data3: number;
}
export class Project {
data1: string;
data2: string;
data3: number;
constructor(obj: ProjectInterface) {
this.data1 = obj.data1;
this.data2 = obj.data2;
this.data3 = obj.data3;
}
}
私はdata1、data2 ...内部のコンストラクタを渡すことができますが、多くのパラメータを持つと便利ではないことがわかります。
インターフェイスに参照用の単一のエントリポイントがあるようにするためのきれいな回避策はありますか?
コンストラクタでプロパティの初期化を自動化したいですか?私はこれを必ずしも意味最適化のような_optimization_とは呼んでいません。 –
はいプロジェクトクラスの変数宣言を繰り返して初期化を自動化しないようにしたい – sebap
'Project'クラスの' ProjectInterface'タイプの 'data'プロパティを宣言して、なぜthis.data = obj'? 'Object.assign'を使うと、注入されたデータとClassインスタンスが保持するデータとの間にいくらかの柔軟性を導入することも可能です。 –