Sales1 min read149 words

Hoe gebruik je Object.freeze() in JavaScript?

Erkan Sivas

Erkan Sivas

PlusClouds Author

Cloud & SaaS

Hoe wordt Object.freeze() gebruikt in JavaScript?

In JavaScript zijn objecten en arrays veranderlijk. Dit betekent dat we op elk gewenst moment een object (of array) kunnen wijzigen. Maar als we om welke reden dan ook niet willen dat dit gebeurt en we het object onveranderlijk willen maken.


Dit kunnen we doen met de freeze() methode.


Een object dat je met de freeze() methode bevriest, kan niet meer worden gewijzigd; een object bevriezen met freeze voorkomt dat er nieuwe eigenschappen aan worden toegevoegd, bestaande eigenschappen worden verwijderd, de enumerabiliteit van bestaande eigenschappen, de configureerbaarheid of de schrijfbaarheid verandert, en verhindert dat de waarden van bestaande eigenschappen worden gewijzigd. Bovendien voorkomt het bevriezen van een object dat de prototype ervan wordt gewijzigd.


Hier is een voorbeeldcode over het gebruik van deze methode;
const obj = {
    name: "Jack"
};

Object.freeze(obj);

obj.name = "Kelly";
// Werpt een fout in strikte modus

console.log(obj.name);
// verwachte output: "Jack"



Frequently Asked Questions

Wat doet Object.freeze() in JavaScript en wat wordt daarmee voorkomen?

Object.freeze() maakt een object onveranderlijk in JavaScript. Het voorkomt dat er nieuwe eigenschappen worden toegevoegd, bestaande eigenschappen worden verwijderd, en dat de waarden van bestaande eigenschappen worden gewijzigd; bovendien kan het prototype van het object niet worden gewijzigd.

Kan ik nog eigenschappen wijzigen nadat een object is bevroren?

Nee, een bevroren object kan niet meer worden gewijzigd. De post verklaart dat de waarden van bestaande eigenschappen niet kunnen veranderen en dat pogingen tot wijziging in strikte modus een fout kunnen veroorzaken.

Wordt het toevoegen of verwijderen van eigenschappen ook verhinderd als een object bevroren is?

Ja. De bevriezing voorkomt dat er nieuwe eigenschappen worden toegevoegd en dat bestaande eigenschappen worden verwijderd.

Kan het bevriezen van een object invloed hebben op het prototype ervan?

Ja. Bevriezen voorkomt ook dat het prototype van het object gewijzigd kan worden.

Wat laat het voorbeeld zien van het bevriezen van een object?

Het voorbeeld maakt een object genaamd obj met name: 'Jack' en bevriest het met Object.freeze(obj). Vervolgens wordt geprobeerd obj.name te wijzigen naar 'Kelly', wat in strikte modus een fout oplevert. Bij console.log(obj.name) verschijnt de oorspronkelijke waarde 'Jack'.

Waarom zou je Object.freeze() gebruiken?

De bedoeling van Object.freeze() is dat het object onveranderlijk wordt. Zo kun je de ongewijzigde staat van het object waarborgen.

Kan ik nog steeds de waarden van een bevroren object lezen?

Ja, de waarden blijven leesbaar. In het voorbeeld laat console.log(obj.name) zien dat de oorspronkelijke waarde 'Jack' blijft.

Hoe gebruik je Object.freeze() in JavaSc… | PlusClouds Blog