La méthode handler.isExtensible()
est une trappe pour intercepter les opérations de Object.isExtensible()
.
Syntaxe
var p = new Proxy(cible, { isExtensible: function(cible) { } });
Paramètres
Les paramètres suivants sont passés à la méthode isExtensible
. this
est ici lié au gestionnaire (handler).
cible
- L'objet cible.
Valeur de retour
La méthode isExtensible
doit renvoyer une valeur booléenne.
Description
La méthode handler.isExtensible()
est une trappe pour intercepter Object.isExtensible()
.
Interceptions
Cette trappe intercepte les opérations suivantes :
Invariants
Si les invariants suivants ne sont pas respectés, le proxy renverra une exception TypeError
:
Object.isExtensible(proxy)
doit renvoyer la même valeur queObject.isExtensible(cible)
.
Exemples
Dans l'exemple qui suit, on intercepte Object.isExtensible()
.
var p = new Proxy({}, { isExtensible: function(cible) { console.log("appelée"); return true; } }); console.log(Object.isExtensible(p)); // "appelée" // true
Le code suivante ne respecte pas l'invariant et entraîne donc une exception.
var p = new Proxy({}, { isExtensible: function(cible) { return false; } }); Object.isExtensible(p); // TypeError est levée
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de '[[IsExtensible]]' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2016 Draft (7th Edition, ECMA-262) La définition de '[[IsExtensible]]' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | ? | 31 (31) | ? | ? | ? |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | ? | ? | 31.0 (31) | ? | ? | ? |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,