DEV Community

Filipe Roberto Beck
Filipe Roberto Beck

Posted on • Edited on

Typescript - `willSet` e `didSet` com decorators

EDITADO(1): Atualizei o exemplo para permitir o uso de @willSet() e @didSet() em sequência
EDITADO(2): Atualizei o exemplo para invocar @willSet das superclasses depois e @didSet das superclasses antes
EDITADO(3): Agora foi

Achei no Github uma lib bem interessante, chamada classy, para observar mutações em propriedades de forma similar à linguagem Swift usando decorators. Ela é mais abrangente, fornecendo os decorators @classy para a classe e @property para as propriedades, com a possibilidade de definir get e set também. Eu queria algo mais simples, sem a necessidade de decorar a classe, sem get e set e usando diretamente os decorators @willSet e @didSet. O link com o código e exemplos está aqui

Esse recurso é útil quando a propriedade não precisa ser computada mas tem efeitos colaterais. Isso evita a necessidade de criar um setter para os efeitos colaterais e uma propriedade armazenada de nome similar que será atribuída pelo setter antes de manipular os efeitos colaterais.

Top comments (0)