Criando objetos imutáveis no Javascript
Publicado em: 01/06/2020
Como você pode ter lido no nosso último post (Javascript - Um pouco sobre váriáveis), deixamos um gancho no final do post sobre como podemos criar objetos cujo as propriedades sejam totalmente imutáveis, visto que mesmo declarando um objeto com o const
ainda assim podemos acessar suas propriedades livremente e modificá-las.
Usando o Object.freeze()
É tão simples quando possa parecer:
// Aqui envolvemos o nosso objeto no Object.freeze
const ficha = Object.freeze({
nome: 'gughog',
classe: 'Dark Mage',
level: 2,
gold: 345
})
// vamos roubar um pouco e deixar nossa ficha com level máximo
// e muito gold:
ficha.level = 99
ficha.gold = 8000
console.log(ficha)
// resultado:
// {
// nome: 'gughog',
// classe: 'Dark Mage',
// level: 2,
// gold: 345
// }
// e... nada mudou!
O que exatamente esse método faz
O Object.freeze()
literalmente congela um objeto, como seu nome diz, e impede que qualquer coisa seja alterada, adicionada ou removida. Uma vez congelado será assim até o fim, efetivamente tornando-o imutável.
Obrigado pela leitura e até o próximo post!