学习ES6中的class 父类子类当 a instanceOf parentConstructor(true) a instanceOf childContructor(true) 如何判断是父类还是子类new生成?
方案
大多数情况下我们其实只知道一个构造函数 但是并不清楚他是不是父类构造函数 可以这样实现
class parent {}
class child extends parent{}
let p = new parent()
let c = new child()
console.log(c instanceof child )// true
console.log(c instanceof parent) // true
console.log(Object.getPrototypeOf(parent)) // f
console.log(Object.getPrototypeOf(child)) // p
if(Object.getPrototypeOf(child).name){
console.log('构造函数为子类')
} else {
console.log('构造函数为父类')
}
来源:
方案