5
respostas

Atributos privados SyntaxError: Private field '#cpf' must be declared in an enclosing class

Eu vi que recentemente ficou oficial declararmos atributos privados com #, mas algo fica dando errado quando faço assim. Quando pedi para imprimir no concole tive esse retorno

const contaPoupaca = new ContaPoupanca(50, cliente1, 10001)

console.log(contaPoupaca)
return this.#cpf
                   ^

SyntaxError: Private field '#cpf' must be declared in an enclosing class
5 respostas

Olá Leila, como vai?

Esse curso não esta bem atualizado ne? tem que ver na documentação se estao aceitando o "#", acho que esta retornando erro mesmo nos navegadores

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

O que tem achado do curso, acho que falta alguns exercicios para fixacao..

É verdade, eu troquei por underline e funciona, uma pena que nao está atualizado... tá bem superficial essa matéria. Mas obrigada! Vou testar mais aqui e ver se encontro o erro

posta o codigo todo por favor, fica mais facil, pelo que esta escrito tem uma classe que nao foi "fechada" ai...

no caso eu troquei todos por _ e foi. Depois do módulo completo vou tentar rever essa questao do #

Tive o mesmo problema. O curso precisa ser atualizado!

Coloquei todos os privados com #, e começou a dar erro quando passei a utilizar o constructor. Não consegui solucionar, e tive que tirar todos os # pro código voltar a funcionar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software