![]( )
Quando vou chamar o constructor ele da esse erro me informando que só posso montar ele no typescript, porque isso?
![]( )
Quando vou chamar o constructor ele da esse erro me informando que só posso montar ele no typescript, porque isso?
Oi, Eduardo! Tudo bem?
De acordo com a imagem enviada, o erro está acontecendo pois até o momento do print estamos apenas declarando o construtor com os parâmetros, mas não estamos fornecendo um corpo para ele, como um construtor sem corpo não é válido em JavaScript, é gerado um erro de sintaxe.
Dessa forma, podemos notar que apenas adicionando um corpo para a nossa classe User
como no exemplo abaixo, a mensagem de erro tem a tendência a desaparecer:
class User {
constructor(nome, email, nascimento, role, ativo = true) {
this.nome = nome;
this.email = email;
this.nascimento = nascimento;
this.role = role || 'estudante';
this.ativo = ativo;
}
Porém, devemos deixá-la da seguinte forma:
class User {
constructor(nome, email, nascimento, role, ativo = true) {
this.nome = nome;
this.email = email;
this.nascimento = nascimento;
this.role = role || 'estudante';
this.ativo = ativo;
}
exibirInfos() {
return `${this.nome}, ${this.email}`;
}
}
const novoUser = new User('Juliana', 'j@j.com', '2021-01-01');
console.log(novoUser);
console.log(novoUser.exibirInfos());
Espero ter ajudado!
Um forte abraço e bons estudos!