Maison  >  Article  >  interface Web  >  Introduction à la méthode de suppression de propriété d'objet dans les compétences JavaScript_javascript

Introduction à la méthode de suppression de propriété d'objet dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:23:121244parcourir

En JavaScript, vous pouvez utiliser l'opérateur delete pour supprimer une propriété dans un objet :


Copier le code Le code est le suivant :

var t = {a:42, b:26};
console.log(t);//Object {a=42, b=26}
supprimer ta;
console.log(t);//Objet {b=26}


La limitation de cette opération de suppression de propriété est que l'opérateur de suppression ne peut supprimer que toutes les propriétés de l'objet lui-même et ne peut pas supprimer les propriétés héritées de l'objet prototype. Si vous souhaitez supprimer la propriété dans l'objet prototype, vous devez explicitement obtenir l'objet prototype puis effectuer l'opération dans l'objet prototype :


Copier le code Le code est le suivant :

var o = {x:1, y:2};
var a = Objet.create(o);
a.z = 3;
console.log(a);//Object {z=3, x=1, y=2}
supprimer a.x ;//Impossible de supprimer la propriété héritée
console.log(a);//Object {z=3, x=1, y=2}
supprimer a.z ;//Peut supprimer sa propre propriété
console.log(a);//Object {x=1, y=2}
supprimer a.__proto__.x;
console.log(a);//Objet {y=2}


Si une propriété d'un objet prototype est supprimée, tous les objets qui héritent de l'objet prototype seront affectés.

Pour la valeur de retour de l'opération de suppression, JavaScript suit les règles suivantes :

1. Si l'opération de suppression réussit, retournez true.
2. Si l'opération de suppression n'a aucun effet (par exemple, la propriété à supprimer n'existe pas), elle renverra également true.
3. Si vous souhaitez supprimer une propriété dont l'attribut configurable est false, une erreur TypeError sera signalée en mode strict et false sera renvoyé en mode non strict.
Si l'opérateur delete agit sur la propriété de l'objet global, alors en mode non strict, l'objet global dans le code peut être omis :

Copier le code Le code est le suivant :

ceci.c = 42;
supprimer c;//égal à supprimer this.c;

Il convient de noter qu'en mode strict, la méthode d'écriture ci-dessus générera une SyntaxError.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn