Olá, Paulo! Tudo bem?
Este erro apenas significa que a variável não possui um valor padrão, e precisa em sua inicialização. Para resolver isso, passe um valor para ela logo na declaração:
valor: number = 0;
Ou:
constructor() {
this.valor = 0;
}
Ambas as soluções são possíveis. Entretanto, perceba que o instrutor não precisou implementar nenhuma. Isso ocorre porque ele não possui a opção strictPropertyInicialization
habilitada na configuração do TypeScript dele. Você também pode desabilitar, no seu tsconfig.json
:
{
"compilerOptions": {
...
"strictPropertyInitialization": false // adicione esta linha dentro do objeto `compilerOptions`.
}
}
Há mais uma solução, que é forçar o TypeScript a ignorar esta regra para a propriedade, com a inclusão do !
:
valor!: number;
Principalmente para este curso, qualquer opção que resolva seu problema é válido, inclusive o instrutor irá refinar o código mais adiante. Beleza?
Espero ter ajudado! Bons estudos e qualquer coisa estou à disposição!