Vixe!! Javascript tem getters e setters!

Outro dia “descobri” por acaso uma feature nova da linguagem.
Só eu que não sabia que javascript tinha uma sintaxe especial pra getters e setters?

Veja só, abre um console aí e digita o seguinte:

 o = {a:1}; //nada de mais
 o = {a:1, get x(){return this.a++;}}; //cuma???
 o.x
 o.x
 o.x
 o.a; //só eu que não sabia disso???

Interessante né.

A princípio eu pensei: “legal, mas não consigo pensar em muitas aplicações práticas pra isso.”

Até que bateu a idéia de fazer um binding AngularJS (usando ng-model) com uma property baseada em getter e setter. Como prova de conceito, imagina um controle de paginação, com um botão “ANTERIOR”, um input com o numero da página, e um botão “PRÓXIMO”. Veja como fica simples:

http://tonylampada.github.io/randomstuff/getters_n_setters.html

Não é o tipo de coisa que se usa todo dia, mas é bom saber 🙂

Deixe uma resposta