Symbol.hasInstance

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

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

尝试一下

Symbol.hasInstance 的属性特性
可写
可枚举
可配置

示例

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

js
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

参见