【发布时间】:2015-12-31 12:24:20
【问题描述】:
如何使用 ES6 类动态初始化对象?
class AnObject{
constructor(name) {
this.name = name;
}
}
let p1 = new AnObject("name1");
console.log("p1 name: " + p1.name);
var className = "An" + "Object";
let p2 = new className("name2"); // Dynamically init an object?
console.log("p2 name: " + p2.name);
【问题讨论】:
-
它与 ES5 中没有什么不同——
AnObject只是一个函数,在调用new之前,您必须通过它的名称获取该函数。对类使用 ES6 语法使差异为零。 -
@Bergi:是的,这可能是重复的。尽管有一个非常细微的区别:如果您在全局范围内,则不能使用全局对象中的类,因为全局范围内的类标识符不会添加到全局对象中,即使它们是全局变量。 (与全局范围内的
let和const一样。)