问题描述
当作者说时,我正在阅读“面向Web开发人员的专业javascript”:
constructor属性最初旨在用于标识对象类型。然而 instanceof运算符被认为是确定类型的更安全方式
您能解释为什么不使用constructor
而不是instanceof
来确定对象类型的原因是什么?
没有差异的传统示例可能是:
car instanceof Car // true
car.constructor === Car // true
谢谢...
解决方法
class A {
}
class B extends A {
}
var x = new B();
console.log('instanceof A',x instanceof A);
console.log('instanceof B',x instanceof B);
console.log('constructor = A',x.constructor === A);
console.log('constructor = B',x.constructor === B);
子类化有所不同