class A {
constructor(){}
}
class B extends A {
constructor(){
super()
}
}
class C extends B {
constructor(){
super()
}
}
const a = new A()
const b = new B()
const c = new C()
console.log(a instanceof A); //true
console.log(a instanceof B); //false
console.log(a instanceof C); //false
console.log(b instanceof A) //true
console.log(b instanceof B) //true
console.log(b instanceof C) //false
console.log(c instanceof A) //true
console.log(c instanceof B) //true
console.log(c instanceof C) //true
console.log(c.constructor === A) // false
console.log(c.constructor === B) // false
console.log(c.constructor === C) // true
instanceof
는 상속받은 부모까지 영향을 받기 때문에 contructor를 통해서 어떤 클래스에서 만들었는지 확인 할 수 있다.