Javascript verwijderen: Hoe een Object eigenschap verwijderen in JS

Het doel van de delete operator in Javascript is, zoals je zou kunnen denken, om dingen te verwijderen. Meer specifiek, het zal objecteigenschappen verwijderen. De delete operator is ontworpen om te worden gebruikt op de objecteigenschappen. Het heeft geen invloed op variabelen of functies.

Na het verwijderen, kan de eigenschap niet meer worden gebruikt voordat het weer aan het object is toegevoegd.

Javascript Delete Operator

Javascript delete is een ingebouwde operator die de eigenschap uit het object verwijdert. De delete operator verwijdert zowel de waarde van de eigenschap als de eigenschap zelf. Als er geen referenties meer zijn naar dezelfde eigenschap, dan wordt deze uiteindelijk automatisch vrijgegeven.

De delete operator heeft ook een return waarde. Als het lukt om de eigenschap te verwijderen, dan geeft hij true terug. Als het niet lukt om de eigenschap te verwijderen omdat de eigenschap onbeschrijfbaar is, zal het false teruggeven, of als in de strikte modus, zal het een fout gooien.

Syntax

De syntax van de Javascript Delete Operator is de volgende.

delete object.property// ordelete object

Laten we eens kijken naar het volgende voorbeeld.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj.a);delete appObj.a;console.log(appObj);

Zie de uitvoer.

Javascript Delete Operator Tutorial

Eén ding dat u in gedachten moet houden is dat de delete operator niet moet worden gebruikt op voorgedefinieerde JavaScript objecteigenschappen. Het kan je applicatie laten crashen.

Nu, als je probeert het hele object te verwijderen, dan is dat misschien niet mogelijk voor je. Het kan alleen de eigenschappen van het object verwijderen en niet het hele object.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);delete appObj;console.log(appObj);

Zie de uitvoer.

How To Remove Property From Object

In tegenstelling tot wat vaak wordt gedacht, heeft een delete-operator in Javascript niets te maken met het direct vrijmaken van geheugen. Geheugenbeheer wordt indirect gedaan door verwijzingen te verbreken.

De verwijderoperator verwijdert de gegeven eigenschap uit het object. Bij het succesvol verwijderen, zal het true teruggeven; anders zal het false teruggeven. Het is echter essentieel om rekening te houden met de volgende gevallen.

  1. Als de eigenschap die je probeert te verwijderen niet bestaat in het object, dan zal delete geen effect hebben en true retourneren.
  2. Als de eigenschap met dezelfde naam bestaat in de prototype-keten van het object, dan zal, na het verwijderen, een object de eigenschap uit de prototype-keten gebruiken. Het zal dus gaan om de hiërarchie naar boven.

Laten we het volgende voorbeeld van True of False eens bekijken.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);console.log(delete appObj.d);

Zie het volgende voorbeeld.

Javascript Delete Operator Tutorial | Remove Property From Object

U kunt zien dat als de objecteigenschap niet bestaat, en als u probeert die eigenschap te verwijderen die niet bestaat, het ons de true in uitvoer zal geven.

Benchmark van Delete Operator in Javascript

Je kunt de benchmark hier zien.

Delete is de enige echte manier om de eigenschappen van het object te verwijderen zonder restjes achter te laten, maar het werkt ~ 100 keer langzamer dan de “alternatieve manier,” die de volgende is.

object = undefined

Dit alternatief is niet de juiste manier om de eigenschap van een object te verwijderen. Maar, als je het voorzichtig gebruikt, kun je sommige algoritmen drastisch versnellen.

Wanneer gebruik je dus undefined en wanneer de delete operator?

Het object kan worden gezien als een verzameling sleutel-waarde paren. Wat ik de ‘waarde’ noem is een primitieve of een verwijzing naar een ander object, verbonden met die ‘sleutel’.

Gebruik de delete operator wanneer je een resultaatobject doorgeeft aan de code waarop je geen controle hebt (of wanneer je niet zeker bent van je team of van jezelf). Het verwijdert de sleutel uit de hashmap.

let obj = { prop: 1 }; delete obj.prop;

Gebruik de undefined als je om de performance geeft. Het kan je code een uitstekende boost geven.

De sleutel blijft op zijn plaats in de hashmap, en alleen de waarde wordt vervangen door een undefined.

Begrijp dat de for in-lus nog steeds over die sleutel itereert.

let obj = { prop: 1 }; obj.prop = undefined;

Bij gebruik van de bovenstaande methode zullen niet alle manieren om het bestaan van de eigenschap te bepalen werken zoals verwacht.

Deze code:

object.prop === undefined

zal zich echter voor beide methoden gelijkwaardig gedragen.

Conclusie

Een Javascript delete operator is nodig wanneer je een eigenschap uit een object wilt verwijderen. Soms, in plaats van een eigenschap te verwijderen, geven JavaScript ontwikkelaars er een waarde van null aan.

Tot slot, verwijder eigenschap van Object in Javascript Voorbeeld is voorbij.

Aanbevolen artikelen

Javascript Object Waarden

Javascript Async / Await

Javascript Fetch API

Javascript class

Javascript Import

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *