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