2
respostas

Para quem ficou com dúvida em como privar o atríbuto static fiz dessa forma. Porém como sou iniciante não sei se é uma boa prática, dessa forma que eu fiz.

//Classe ContaCorrente.js
static #quantidadeDeContas = 0;//Definindo o atributo como privado

constructor(agencia, cliente) {

        ContaCorrente.#quantidadeDeContas++;//Incrementando um no atributo conta a cada criação de um novo objeto
    }

static getQuantidadeDeContas() {//Criando um método estático para retornar a quantidade de contas
        return ContaCorrente.#quantidadeDeContas;
}

//Arquivo principal que estamos printando os dados
console.log(ContaCorrente.getQuantidadeDeContas());
2 respostas

Oi Marco Aurélio!

Muito essa solução que você encontrou!

Como atributos privados ainda são uma funcionalidade experimental no JavaScript, ainda não se tem muitas referências sobre o que é boa prática e o que não é.

Normalmente a sintaxe utilizada é o _ antes do nome da variável, como demonstrado pelo instrutor, mas isso é apenas uma indicação e não uma regra absoluta.

Parabéns por ter ido além do conteúdo da aula! Isso é muito importante para um bom aprendizado.

Espero ter ajudado! Qualquer outra dúvida pode postar aqui! :)

De acordo com a documentação a documentação da mozilla: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields, o # já está retornando erro de sintax nos principais navegadores. Apesar de parecer de ainda não estar disponivel no Node.js.