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.

Le symbole « connu » Symbol.hasInstance est utilisé afin de déterminer si un objet constructeur reconnaît un objet comme une de ses instances. On peut donc adapter/personnaliser le comportement de l'opérateur instanceof grâce à ce symbole.

Exemple interactif

Attributs de Symbol.hasInstance
Écrivable Non
Énumérable Non
Configurable Non

Exemples

On peut implémenter un comportement différent pour instanceof de cette façon :

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

Spécifications

Specification
ECMAScript Language Specification
# sec-symbol.hasinstance

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi