1. intanceof 运算符
instanceof 运算符返回一个布尔值,表示指定对象是否为某个构造函数的实例。
instanceof左边是实例对象 右边是构造函数。它的运算实质是检查右边构建函数的原型对象,是否在左边对象的原型链上。因此,下面两种写法是等价的。
Vehicle.prototype.isPrototypeOf(v);
instanceof
的原理是检查原型链,对于那些不存在原型链的对象,就无法判断。
Object.create(null) instanceof Object // false 上面这种继承
null
的特殊情况,JavaScript之中,只要是对象,就有对应的构造函数。因此,instanceof
运算符的一个用处,是判断值的类型。
instanceof
运算符只能用于对象,不适用原始类型的值。
时间: 2024-10-16 01:07:41