如果我创建以下类,则在Class1中是否有任何方法可以在不了解Class2的情况下检测实例实际上是Class2的实例?
即可以告诉Class1何时扩展父类吗?
class Class1 {
constructor() {
// Code to detect whether parent here
}
}
class Class2 extends Class1 {
constructor() {
super();
}
}
答案 0 :(得分:6)
这就是new.target
的用途-它为您提供了调用new
的构造函数。所以
class Class1 {
constructor() {
if (new.target != Class1) {
// Class1 is used as a parent class
}
}
}