Symbol.hasInstance

Symbol.hasInstance用于判断某对象是否为某构造器的实例。因此你可以用它自定义 instanceof 操作符在某个类上的行为。

Symbol.hasInstance 属性的属性特性:
writable false
enumerable false
configurable false

示例

你可实现一个自定义的instanceof 行为,例如:

class MyArray {
  static [Symbol.hasInstance](instance) {
    return Array.isArray(instance);
  }
}
console.log([] instanceof MyArray); // true

规范

文档 状态 备注
ECMAScript 2015 (6th Edition, ECMA-262)
Symbol.hasInstance
Standard Initial definition.
ECMAScript (ECMA-262)
Symbol.hasInstance
Living Standard

浏览器兼容性

BCD tables only load in the browser

参见