Porque ele não reconhece meu #nome?
Olá Eduardo tudo bem ?
O erro ocorre pois a propriedade #nome que esta na sua classe User é privada, pra acessar atributos privados ou atribuir valores precisamos criar funcoes get e set, como nao estou vendo o arquivo no print vou escrever algo que possa facilitar o entendimento
ex: User.js:
export default class User {
#nome;
constructor(nome) {
this.#nome = nome;
}
// Getter for #nome
getNome() {
return this.#nome;
}
// Setter for #nome
setNome(novoNome) {
this.#nome = novoNome;
}
}
dessa forma se eu fizer User.#nome eu nao consigo acessar os atributos e nem User.#nome = "meu nome" eu nao consigo atribuir o valor. pra isso usamos as funcoes de get e set
const novoUser = new User('Initial Name');
console.log(novoUser.getNome());
novoUser.setNome('Alterando de qualquer jeito');
console.log(novoUser.getNome());
agora se a sua intençao nao é ter um atributo privado então funcionaria da seguinte forma:
ex: User.js:
export default class User {
nome;
constructor(nome) {
this.nome = nome;
}
}
const novoUser = new User('Initial Name');
console.log(novoUser.nome);
novoUser.nome = 'Alterando de qualquer jeito';
console.log(novoUser.nome);