Javascript Object.seal ()

O método JavaScript Object.seal () sela o objeto fornecido.

O seal()método evita que novas propriedades sejam adicionadas ao objeto e marca todas as propriedades existentes como não configuráveis.

A sintaxe do seal()método é:

 Object.seal(obj)

O seal()método, sendo um método estático, é chamado usando o Objectnome da classe.

Parâmetros seal ()

O seal()método inclui:

  • obj - O objeto que deve ser selado.

Valor de retorno do selo ()

  • Retorna o objeto sendo selado.

Exemplo: usando selo ()

 let obj = ( foo: "bar", func: function () (), ); // before sealing, properties can be added, modified, or removed obj.foo = "JavaScript"; obj.value = 5; delete obj.func; // sealing the object o = Object.seal(obj); // can still change property values obj.foo = "bar1"; // no other change // fails silently obj.foo1 = "bar"; delete obj.foo; console.log(obj); // ( foo: 'bar1', value: 5 ) // cannot convert data property to accessors or vice versa Object.defineProperty(obj, "foo", ( get: function () ( return "g"; ), )); // TypeError Cannot redefine property: foo

Resultado

 (foo: 'bar1', valor: 5) TypeError Não é possível redefinir a propriedade: foo

Notas :

  • Por padrão, os objetos são extensíveis (novas propriedades podem ser adicionadas a eles). A vedação de objetos torna as propriedades dos objetos fixas e imutáveis. Os valores das propriedades presentes ainda podem ser alterados, desde que sejam graváveis.
  • Object.isSealed() pode ser usado para verificar se um objeto está selado ou não.
  • A tentativa de converter a propriedade de dados em acessador ou vice-versa falhará silenciosamente ou lançará TypeError.

Leitura recomendada: JavaScript Object isSealed ()

Artigos interessantes...