Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Declaração só pode ser usada no Typescript

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Quando vou chamar o constructor ele da esse erro me informando que só posso montar ele no typescript, porque isso?

1 resposta
solução!

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!