Quando tento modificar o valor de nome explode no terminal um belo (novoUser.nome is not a function)
class User {
#nome
#email
#nascimento
#role
#ativo
constructor(nome, email, nascimento, role, ativo = true){
this.#nome = nome;
this.#email = email;
this.#nascimento = nascimento;
this.#role = role || 'estudante';
this.#ativo = ativo;
}
get nome(){
return this.#nome
}
get email(){
return this.#email
}
get nascimento(){
return this.#nascimento
}
get role(){
return this.#role
}
get ativo(){
return this.#ativo
}
set nome(novoNome){
if(novoNome === "") {
throw new Error("Digite um nome de verdade")
}else{
this.#nome = novoNome
}
}
#montaObj(){
return ({
nome: this.#nome,
email: this.#email,
nascimento: this.#nascimento,
role: this.#role,
ativo: this.#ativo
})
}
exibirInfos(){
return this.#montaObj()
}
}
const novoUser = new User('tião', 'tiao@gmail.com', '31/12/1999')
novoUser.nome("Perosvaldo")
console.log(novoUser.nome)