La méthode handler.deleteProperty()
est une trappe pour l'opérateur delete
.
Syntaxe
var p = new Proxy(cible, { deleteProperty: function(cible, propriété) { } });
Paramètres
Les paramètres suivants sont passés à la méthode deleteProperty
. this
est lié au gestionnaire.
cible
- L'objet cible.
propriété
- Le nom de la propriété à supprimer.
Valeur de retour
La méthode deleteProperty()
doit renvoyer un booléen qui indique si oui ou non la propriété a été supprimée.
Description
La méthode handler.deleteProperty()
est une trappe permettant d'intercepter les opérations de l'opérateur delete
.
Interceptions
Cette trappe peut intercepter les opérations suivantes :
- La suppression d'une propriété :
delete proxy[toto]
etdelete proxy.toto
Reflect.deleteProperty()
Invariants
Si les invarians suivants ne sont pas respectés, le proxy renverra une exception TypeError
:
- Une propriété ne peut pas être supprimée s'il existe une propriété correspondante sur l'objet cible qui est une propriété propre et non-configurable.
Exemples
Dans l'exemple qui suit, on intercepte les opérations de delete
.
var p = new Proxy({}, { deleteProperty: function(cible, prop) { console.log("appelée sur : " + prop); return true; } }); delete p.a; // "appelée sur : a"
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de '[[Delete]]' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de '[[Delete]]' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | ? | 18 (18) | ? | ? | ? |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | ? | ? | 18.0 (18) | ? | ? | ? |
Voir aussi
Proxy
handler
- L'opérateur
delete
Reflect.deleteProperty()
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,