JavaScript ES6 でのオブジェクトの動的作成
従来のアプローチを採用すると、ES6 を使用してクラス名からオブジェクトを構築する際に困難が発生する可能性があります。この記事は、この問題を解決し、ES6 構文を使用してオブジェクトを動的に作成する効果的な方法を提供することを目的としています。
前のコード スニペットは、ファクトリを利用してクラス名に基づいてオブジェクトを作成しようとしています。ただし、グローバル オブジェクト 'window' を通じてクラスを参照すると、エラーが発生します。
これに対処するには、ファクトリの 'specColumn' オブジェクトにクラス オブジェクトの名前ではなくクラス オブジェクト自体を格納することをお勧めします。これにより、クラスがグローバルに利用可能であることに依存することなく、クラスにアクセスできることが保証されます。
さらに、シングルトンのような使用シナリオを考慮すると、ファクトリをクラスではなくオブジェクトに変換する方が適切な場合があります。更新されたコードは次のとおりです:
export class Column {} export class Sequence {} export class Checkbox {} export const columnFactory = { specColumn: { __default: Column, // <-- Class object __sequence: Sequence, // <-- Class object __checkbox: Checkbox // <-- Class object }, create(name, ...args) { let cls = this.specColumn[name] || this.specColumn.__default; return new cls(...args); } };
これらの変更を実装すると、ES6 構文を使用してオブジェクトを動的に作成できるようになります。
以上がクラスオブジェクトを使用してJavaScript ES6でオブジェクトを動的に作成する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。