我的意思是不将类的名称作为字符串,我需要完全静态的实例。
class Secret {
createNewClassFromConstructorName()
{
let className = this.constructor.name;
return new className();
}
}
let secret = new Secret();
但我不想创建一些属性,比如'this.self = Secret或this.instance = Secret'或返回实例的方法。我想从'this'语句中访问它们。并运行此方法:
secret.createNewClassFromConstructorName();
当'className'不是构造函数时,我得到错误。
答案 0 :(得分:0)
只需使用constructor
属性作为构造函数!
createNewClassFromConstructorName() {
return new this.constructor;
}