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

规范

Specification
ECMAScript Language Specification
# sec-symbol.hasinstance

浏览器兼容性

BCD tables only load in the browser

参见