weijiyang / GOOD-IDEA

这里记录一些灵感~详见ISSUES
1 stars 0 forks source link

如何判断一个实例的构造函数是父类 而不是子类? #3

Open weijiyang opened 4 years ago

weijiyang commented 4 years ago

来源:

学习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('构造函数为父类')
}