Como congelar um objeto em javascript

Como congelar um objeto em javascript
Você já foi apanhado em uma situação em que é necessário fazer um objeto JavaScript imutável e impedir que ele altere os valores das propriedades existentes? Se for esse o caso, utilize o “Objeto.congelar()”Método em seu programa JavaScript e faça dele um imutável tipo de dados.

O que é objeto.Método Freeze ()

O "Objeto.congelar()”O método é usado para congelar um já declarado objeto e restringir tudo de manipulação como adicionar novas propriedades, remover propriedades existentes e atualizar os valores das propriedades existentes.

Esta postagem discutirá o método para congelar um objeto em JavaScript. Então vamos começar!

Como congelar um objeto em javascript

Por padrão, os objetos JavaScript são de “mutável”Tipo de dados, o que significa que seus valores podem ser alterados com o tempo. No entanto, você pode fazer isso “imutável”Ao declarar isso como um“constante”.

Quando um objeto é criado usando o “const”Palavra -chave, você ainda pode reatribuir ou alterar individualmente os valores de suas propriedades, mas sendo um tipo de dados imutável, o JavaScript não permite que você reatize todo o objeto para outra coisa.

Dê uma olhada no exemplo a seguir para entender o conceito declarado.

Exemplo

Por exemplo, criaremos um objeto chamado “funcionário”Tendo as seguintes propriedades:

const funcionário =
Idade: 30,
Nome: "Alex"
;
console.log (funcionário);

Depois de fazer isso, tentaremos atualizar os valores do “funcionário“Objeto como um todo:

funcionário =
Idade: 35,
Nome: "Paul"
;
console.log (funcionário);

Como você pode ver, a execução da operação especificada Saída A “TypeError”, Que afirma que a atribuição a uma variável constante já declarada não é possível:

Agora, verificaremos o outro caso, transferindo individualmente um valor para o funcionário objeto é “nome" propriedade:

funcionário.name = "max";
console.log ("Depois de mudar o funcionário.nome da propriedade valor ");
console.log (funcionário);

A saída dada significa que o “funcionário.nome”O valor da propriedade é atualizado para“Máx”:

Agora, está provado que, embora um objeto se torne “imutável”Com a ajuda do“const”Palavra -chave, ainda permite que você reatribua individualmente seus valores de propriedade.

Você pode "congelar”Um objeto em uma situação em que é necessário restringir o objeto de atualizar as propriedades existentes ou a adição de novas propriedades.

Quero fazer isso? Siga a seção abaixo para saber mais sobre o congelamento de um objeto em JavaScript.

Como congelar um objeto em javascript usando objeto.Método Freeze ()

O "Objeto.congelar()”O método é utilizado para congelar um objeto já declarado. Quando um objeto é congelado, impede a exclusão das propriedades do objeto existente, a adição de novas propriedades, a atualização da enumerabilidade, escritura e configuração das propriedades existentes. Além disso, você não pode alterar o protótipo de objeto e o valor das propriedades existentes após o congelamento do objeto relacionado.

Sintaxe

Objeto.congelamento (OBJ)

Aqui, "obj”Representa o objeto JavaScript que será congelaado com a ajuda do“Objeto.congelar()”Método.

Exemplo: como congelar um objeto em javascript usando objeto.Método Freeze ()

Primeiro de tudo, congelaremos o “funcionário”Objeto usando o“Objeto.congelar()”Método:

Objeto.congelamento (funcionário);

No momento de congelar o “funcionário“Objeto, o valor de“funcionário.idade" é "30," e a "funcionário.nome"É definido como"Máx”:

Na próxima etapa, verificaremos se o “funcionário”O objeto está congelado ou não. Para esse fim, o JavaScript oferece “Objeto.está congelado()”Método embutido que aceita um JavaScript“objeto”Como argumento e retorna“verdadeiro“Se o objeto passado estiver congelado, caso contrário, o caso de retorno de“Objeto.está congelado()”O método será definido como“falso”:

Objeto.isfrozen (funcionário);

Saída

O valor retornado pelo “Objeto.está congelado()”O método é“verdadeiro,”Que indica que o“funcionário”O objeto está congelando com sucesso.

Atualizando a propriedade de objeto congelado no modo rigoroso versus o modo não rito

Agora, tentaremos atualizar o “funcionário.nome”Valor da propriedade para“Paulo”:

funcionário.name = "Paul";
console.log (funcionário);

Se você estiver em “não rigoroso”Modo, então a operação especificada da atualização do valor falhará silenciosamente:

No entanto, no caso de “modo estrito", a "TypeError”Também será exibido no console, ao rescindir a operação de atualização do congelado“funcionário”Objeto:

"Use rigoroso";
funcionário.name = "Paul";
console.log (funcionário);

Saída

Excluindo propriedade de objeto congelado no modo rigoroso versus modo não rigoroso

Da mesma forma, você não pode excluir uma propriedade existente de um objeto congelado:

Excluir funcionário.nome;
console.log (funcionário);

O código acima do rumo tentará remover o “nome"Propriedade do"funcionário”Objeto e falha silenciosamente em“não rigoroso" modo:

Considerando que, em “estrito modo", a "TypeError”Será mostrado no console, que afirma que você não pode excluir o“nome"Propriedade do"funcionário”Objeto que congelavamos com a ajuda do“Objeto.congelar()”Método:

"Use rigoroso";
Excluir funcionário.nome;
console.log (funcionário);

Saída

Todas as informações essenciais relacionadas ao congelamento de um objeto em JavaScript. Você pode investigar mais de acordo com suas preferências.

Conclusão

O javascript Objeto.congelar() O método é utilizado para congelar um objeto declarado. Quando um objeto é congelado, impede a exclusão das propriedades do objeto existente, a adição de novas propriedades, a atualização da enumerabilidade, escritura e configuração das propriedades existentes. Além disso, você não pode alterar o protótipo de objeto e o valor das propriedades existentes após o congelamento. Este artigo discutiu o método para congelar um objeto em JavaScript.