Jednou z mých oblíbených částí JavaScriptu byla vždy mutabilita objektů. Líbilo se mi, že MooTools a podobně frameworky mohly upravovat nativní prototypy a vylepšovat je o funkce, o kterých jsme věděli, že jazyk potřebuje; ve skutečnosti vděčím MooTools za posun webu vpřed.
Existují však případy, kdy nechcete, aby byl objekt modifikovatelný; nechcete, aby se hodnoty pro existující vlastnosti měnily, přidávaly nebo odstraňovaly. To je místo Object.freeze
může pomoci -- s Object.freeze
můžete vytvořit neměnné objekty, kterým můžete věřit!
const obj = Object.freeze({ x: 1, y: 2 }); // None of these do anything obj.x = 8; // { x: 1, y: 2} delete obj.x; // { x: 1, y: 2} obj.z = 3; // { x: 1, y: 2}
Object.freeze
je vítaným a nezbytným doplňkem JavaScriptu. Pokud máte objekty, jejichž integritu chcete zabezpečit, je vyžadována neměnnost. Object.seal
poskytuje podobnou funkcionalitu bez možnosti zmrazit hodnoty, takže Object.freeze
je vaše nejlepší volba, když chcete uzamknout objekt!