在 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中文網其他相關文章!