Symbol.hasInstance ウェルノウンシンボルは、コンストラクタオブジェクトが、そのインスタンスのオブジェクトと認識されるかどうかを決定するために使用されます。このシンボルで、instanceof 演算子の振る舞いをカスタマイズできます。
Symbol.hasInstance のプロパテイ属性 |
|
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
例
たとえば、次ように instanceof の振る舞いをカスタマイズできます:
class MyArray {
static [Symbol.hasInstance](instance) {
return Array.isArray(instance);
}
}
console.log([] instanceof MyArray); // true
仕様
| 仕様 | 状態 | コメント |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) Symbol.hasInstance の定義 |
標準 | 初期定義。 |
| ECMAScript 2017 Draft (ECMA-262) Symbol.hasInstance の定義 |
ドラフト |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | ? | 50 (50) | 未サポート | ? | ? |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | ? | ? | 50.0 (50) | 未サポート | ? | ? |