Como impedir a modificação de objetos em JavaScript

Como impedir a modificação de objetos em JavaScript

JavaScript oferece vários métodos para impedir a modificação de objetos como objeto.PreventExtensions (), objeto.SEAL () e objeto.congelar(). Todos esses métodos garantem que ninguém possa modificar a funcionalidade de um objeto intencionalmente ou acidentalmente.

Esta postagem descreverá os métodos abaixo da lista para evitar modificações de um objeto em JavaScript:

  • Objeto.PreventExtensions ()
  • Objeto.selo()
  • Objeto.congelar()

Então vamos começar!

Objeto.PreventExtensions ()

Os pontos listados abaixo explicarão o que exatamente o método preventExtensions () é:

  • O método preventExtensions () restringe um usuário a adicionar novos métodos ou propriedades.
  • Ele permite ao usuário excluir os métodos e propriedades existentes
  • Permite aos usuários acessar os métodos/propriedades existentes.

Aqui está a sintaxe do objeto.PreventExtensions () Método:

1
Objeto.prevenir extensões (obj);

Vamos considerar o bloco de código abaixo para entender como o método preventExtensions () funciona no JavaScript:

1
2
3
4
5
6
7
8
9
10
const empobj =
Empname: "Dean"
;
Objeto.PreventExtensions (empobj);
empobj.empname = "Dean Jones";
empobj.empid = 12;
console.log ("Nome do funcionário:", empobj.empname);
console.log ("ID do funcionário:", empobj.empid);

Neste programa,

  • Inicialmente, criamos um objeto chamado "empobj".
  • O objeto "empobj" tem uma propriedade i.e., “Empname”.
  • Em seguida, utilizamos o objeto.PreventExtensions () Método para bloquear o “empobj”.
  • Na linha seguinte, modificamos a propriedade EmpName I.e., Atribuímos a ele um novo valor "Dean Jones".
  • Depois, tentamos adicionar um novo nome de propriedade "empid" ao empobj.
  • Finalmente, imprimimos as duas propriedades usando o console.Método log ().

A saída verificou que a propriedade existente modificada com sucesso, no entanto, uma nova propriedade não pode ser adicionada ao objeto restrito/bloqueado.

Objeto.selo()

Considere os pontos abaixo para obter o entendimento básico do objeto.Método de SEAL ():

  • O objeto.O método de Seal () restringe um usuário a adicionar novos métodos ou propriedades.
  • Isso restringe o usuário a excluir os métodos e propriedades existentes
  • Permite aos usuários acessar os métodos/propriedades existentes.

Aqui está a sintaxe do objeto.PreventExtensions () Método:

1
Objeto.SEAL (OBJ);

O bloco de código abaixo dado explicará o funcionamento do objeto.SEAL () em JavaScript:

1
2
3
4
5
6
7
8
const empobj =
Empname: "Dean"
;
exclua empobj.empname;
empobj.empid = 12;
console.log ("Nome do funcionário:", empobj.empname);
console.log ("ID do funcionário:", empobj.empid);
  • Utilizamos o objeto.Método de SEAL () para bloquear o “empobj”.
  • Na próxima linha, tentamos excluir a propriedade EmpName.
  • Depois, tentamos adicionar um novo nome de propriedade "empid" ao empobj.
  • Finalmente, imprimimos as duas propriedades usando o console.Método log ().

A saída verificou o método de funcionamento do Seal () em JavaScript.

Objeto.congelar()

O método Freeze () congela completamente o objeto. O ponto abaixo fornecerá mais clareza sobre o método Freeze ():

  • O objeto.O método Freeze () restringe um usuário a adicionar novos métodos/propriedades.
  • Isso restringe o usuário a excluir os métodos e propriedades existentes
  • Isso restringe os usuários a acessar os métodos/propriedades existentes.

A sintaxe do objeto.o método preventextensions () será algo assim:

1
Objeto.congelamento (obj);

Vamos dar uma olhada no bloco de código abaixo para obter o entendimento básico do objeto.Método Freeze ():

1
2
3
4
5
6
7
8
9
10
11
const empobj =
Empname: "Dean"
;
Objeto.congelamento (empobj);
exclua empobj.empname;
empobj.empname = "Dean Jones";
empobj.empid = 12;
console.log ("Nome do funcionário:", empobj.empname);
console.log ("ID do funcionário:", empobj.empid);
  • Utilizamos o objeto.Método Freeze () para bloquear o "empobj".
  • Em seguida, tentamos excluir a propriedade EmpName.
  • Em seguida, tentamos modificar a propriedade existente i.e., EmpName.
  • Depois, tentamos adicionar um novo nome de propriedade "empid" ao empobj.
  • Finalmente, imprimimos as duas propriedades usando o console.Método log ().

A saída verificou que o método Freeze () não excluiu a propriedade EmpName. Ele retornou o valor da propriedade original em vez do valor modificado. Além disso, não adicionou a nova propriedade "empid".

Conclusão

O JavaScript fornece alguns métodos embutidos- que garantem que ninguém possa modificar a funcionalidade de um objeto intencionalmente ou acidentalmente. Por exemplo, o objeto.PreventExtensions (), objeto.Os métodos de selo () impedem um objeto de modificações parciais. No entanto, o método Freeze () congela completamente o objeto. Este artigo explicou três métodos diferentes para evitar modificações de objetos em JavaScript.