Object.freeze:Immutable Objects

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!