Objetos imútaveis – “Object.freeze”

Congela  um objeto,

significando que qualquer alteração em suas propriedades serão ignoradas. No caso da nossa classe Negociacao, isso faz todo sentido, porque nem mesmo os métodos da classe podem alterar as propriedades de uma negociação criada.

Para isso, podemos usar o método Object.freeze. Modificando nossa classe:

No entanto veja que essa solução também é procedural. Primeiro criamos um objeto e depois precisamos lembrar de congelá-lo. Veja que precisamos criar um manual para o desenvolvedor, indicando que toda vez que uma negociação for criada ele deve congelá-la. Para removermos esse fardo do desenvolvedor, podemos congelar o objeto em seu próprio construtor. Alterando a classe   danielprogramic/js/app/models/Negociacao.js:

E nada mais justo do que alterarmos nosso teste, pois não precisamos mais nos preocupar em aplicar Object.freeze:

 

Deixe seu comentário:

Your email address will not be published. Required fields are marked *

*