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
class Array1 {
static [Symbol.hasInstance](instance) {
return Array.isArray(instance);
}
}
console.log([] instanceof Array1);
// Expected output: true
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 :
class MonArray {
static [Symbol.hasInstance](instance) {
return Array.isArray(instance);
}
}
console.log([] instanceof MonArray); // true
Spécifications
Specification |
---|
ECMAScript® 2025 Language Specification # sec-symbol.hasinstance |
Compatibilité des navigateurs
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
hasInstance |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support