Le but de l’opérateur delete en Javascript, comme vous pouvez le penser est de supprimer des choses. Plus précisément, il va supprimer les propriétés des objets. L’opérateur delete est conçu pour être utilisé sur les propriétés des objets. Il n’affecte pas les variables ou les fonctions.
Après la suppression, la propriété ne peut pas être utilisée avant de la rajouter à nouveau à l’objet.
Opérateur de suppression JavaScript
La suppression JavaScript est un opérateur intégré qui supprime la propriété de l’objet. L’opérateur delete supprime à la fois la valeur de la propriété et la propriété elle-même. S’il n’y a plus de références à la même propriété, alors elle est éventuellement libérée automatiquement.
L’opérateur delete possède également la valeur de retour. S’il réussit à supprimer la propriété, il renvoie true. S’il ne parvient pas à supprimer la propriété parce que celle-ci n’est pas inscriptible, il renverra false, ou s’il est en mode strict, il lancera une erreur.
Syntaxe
La syntaxe de l’opérateur de suppression Javascript est la suivante.
delete object.property// ordelete object
Voyons l’exemple suivant.
// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj.a);delete appObj.a;console.log(appObj);
Voyons le résultat.
Une chose que vous devez garder à l’esprit est que l’opérateur de suppression ne doit pas être utilisé sur les propriétés prédéfinies des objets JavaScript. Il peut faire planter votre application.
Maintenant, si vous essayez de supprimer l’objet entier, alors cela pourrait ne pas être possible pour vous. Il peut seulement supprimer les propriétés de l’objet et non l’objet entier.
// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);delete appObj;console.log(appObj);
Voyez le résultat.
Contrairement à ce que la croyance commune suggère, un opérateur de suppression en Javascript n’a rien à voir avec la libération directe de la mémoire. La gestion de la mémoire se fait indirectement en cassant les références.
L’opérateur delete supprime la propriété donnée de l’objet. Lors d’une suppression réussie, il renvoie true ; sinon, c’est false qui est renvoyé. Cependant, il est essentiel de considérer les cas suivants.
- Si la propriété que vous essayez de supprimer n’existe pas dans l’objet alors, delete n’aura aucun effet et retournera true.
- Si la propriété avec le même nom existe sur la chaîne de prototype de l’objet, alors, après la suppression, un objet utilisera la propriété de la chaîne de prototype. Donc, il ira pour la hiérarchie supérieure.
Voyons l’exemple suivant de Vrai ou Faux.
// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);console.log(delete appObj.d);
Voyons l’exemple suivant.
Vous pouvez voir que si la propriété de l’objet n’existe pas, et si vous essayez de supprimer cette propriété qui n’existe pas, alors cela nous donnera le vrai en sortie.
Benchmark de l’opérateur Delete en Javascript
Vous pouvez voir le benchmark ici.
Delete est la seule vraie façon de supprimer les propriétés de l’objet sans aucun reste, mais il fonctionne ~ 100 fois plus lentement que sa « façon alternative », qui est la suivante.
object = undefined
Cette alternative n’est pas la manière correcte de supprimer la propriété d’un objet. Mais, si vous l’utilisez avec précaution, vous pouvez accélérer drastiquement certains algorithmes.
Alors, quand utiliser undefined et quand utiliser l’opérateur delete ?
L’objet peut être vu comme l’ensemble des paires clé-valeur. Ce que j’appelle la » valeur » est une primitive ou une référence à un autre objet, connecté à cette » clé « .
Utilisez l’opérateur delete lorsque vous passez un objet résultat au code sur lequel vous n’avez aucun contrôle (ou lorsque vous n’êtes pas sûr de votre équipe ou de vous-même). Il supprime la clé de la hashmap.
let obj = { prop: 1 }; delete obj.prop;
Utilisez l’indéfini lorsque vous vous souciez des performances. Il peut donner un excellent coup de pouce à votre code.
La clé reste à sa place dans le hashmap, et seule la valeur est remplacée par un undefined.
Comprenez que le for in loop itérera toujours sur cette clé.
let obj = { prop: 1 }; obj.prop = undefined;
En utilisant la méthode ci-dessus, toutes les façons de déterminer l’existence de la propriété ne fonctionneront pas comme prévu.
Cependant, ce code:
object.prop === undefined
se comportera de manière équivalente pour les deux méthodes.
Conclusion
La nécessité d’un opérateur de suppression en Javascript est chaque fois que vous voulez supprimer une propriété d’un objet. Parfois, plutôt que de supprimer une propriété, les développeurs JavaScript lui donneront une valeur nulle.
Enfin, remove property from Object in Javascript Example est terminé.
Postes recommandés
Valeurs d’objet en Javascript
Javascript Async / Await
Javascript Fetch API
Javascript class
Javascript Import
.