es6 从静态函数访问 class 构造函数
es6 get access to class constructor from static function
我正在尝试创建一个生成新实例的静态函数。该实例属于静态函数所属的class。
举个例子
class A {
static getInstance() {
return new A();
}
}
到目前为止一切顺利 let a = A.getInstance();
会很好。
我想在 children classes.
中继承此功能
class B extends A {}
let b = B.getInstance(); // This will return an instance of A.
我想要 B.getInstance()
到 return B 的一个实例。
这似乎可行。我假设您想要这个,因为您想将 class 作为某种构造函数/生成器传递。因为做new A()
显然要简单一些。
class A {
sayIt() { console.log('I am A'); }
static getInstance() {
return new this;
}
}
class B extends A { sayIt() { console.log('I am B') } }
var k = A.getInstance();
k.sayIt();
let b = B.getInstance();
b.sayIt();
let k2 = new A();
k2.sayIt();
let b2 = new B();
b2.sayIt();
我正在尝试创建一个生成新实例的静态函数。该实例属于静态函数所属的class。
举个例子
class A {
static getInstance() {
return new A();
}
}
到目前为止一切顺利 let a = A.getInstance();
会很好。
我想在 children classes.
中继承此功能class B extends A {}
let b = B.getInstance(); // This will return an instance of A.
我想要 B.getInstance()
到 return B 的一个实例。
这似乎可行。我假设您想要这个,因为您想将 class 作为某种构造函数/生成器传递。因为做new A()
显然要简单一些。
class A {
sayIt() { console.log('I am A'); }
static getInstance() {
return new this;
}
}
class B extends A { sayIt() { console.log('I am B') } }
var k = A.getInstance();
k.sayIt();
let b = B.getInstance();
b.sayIt();
let k2 = new A();
k2.sayIt();
let b2 = new B();
b2.sayIt();