Maison > interface Web > js tutoriel > le corps du texte

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

WBOY
Libérer: 2016-05-16 16:23:12
original
1247 Les gens l'ont consulté

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.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal