Getters e setters no JavaScript

105d atrás

0 0

Aprenda a usar getters e setters no #JavaScript para criar objetos poderosos.

Getter

O getter associa uma propriedade de um objeto a uma função que será executada toda vez que a propriedade for chamada. Por exemplo:

const obj = {
    items: [],
    get first() {
        return this.items[0];
    },
    get last() {
        return this.items[this.items.length - 1];
    }
}

obj.items = [1, 2, 3, 4, 5];
obj.first; // 1
obj.last; // 5
Nesse caso, criamos dois getters, "first" e "last" que retornam o primeiro e o último item respectivamente, do array "items".

Setter

O setter chama uma função toda vez que você tenta definir o valor da propriedade com mesmo nome, por exemplo:

const obj = {
    items: [],
    currentIndex: 0,
    get currentItem() {
        return this.items[this.currentIndex];
    },
    set index(value) {
    	if (value < 0 || value > this.items.length - 1) return console.error('Invalid value');
        
        this.currentIndex = value;
    }
}
Nesse código, se você tentar definir um índice que não existe, ele vai retornar um erro.

obj.items = [1, 2, 3, 4, 5];
obj.index = -1; // Error: invalid value
obj.index = 5; // Error: invalid value
obj.index = 2;
obj.currentItem; // 3


Comentários (0)

0/512
Link