1
resposta

Novidades do JS já permitem o uso de atributos privados

Boas pessoal.

A aula está um pouco defasada, como vocês viram, mas já é possível, sim, utilizar atributos privados e protegidos no javascript. Desde o ES2019 eu creio.

Acompanhei a aula e implementei os recursos apenas para distribuir o conhecimento.

lembrando que os setters são separados e os getters tb (na hora de chamar não precisa dos parenteses da função)

class Negociacao {

    #data;
    #quantidade;
    #valor;

    constructor(data, quantidade, valor) {
        this.#data = data;
        this.#quantidade = quantidade;
        this.#valor = valor;
    }

    //Setters Opcionais - No caso da aula, não será utilizado | Somente para conhecer.
    set data(data) { this.#data = data; }
    set quantidade(quantidade) { this.#quantidade = quantidade; }
    set valor(valor) { this.#valor = valor; }

    get negociacao() {
        return {
            data: this.#data,
            quantidade: this.#quantidade,
            valor: this.#valor,
            volume: this.#quantidade * this.#valor
        };
    }

}

O atributo get não é invocado, nem os parênteses. Você pode imprimir no console desta forma:

console.log(n1.negociacao)

Um abraço !

1 resposta

Fala Guaraci, tudo bem? Espero que sim!

Boaaa, exatamente! Muito obrigado por compartilhar conosco!

Abraços e bons estudos :D