Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Sera pq tem que declara o tipo let, var, const ?
Olá Celso e Victor, tudo bem?
Valor e destino são atributos da classe NovaTransferenciaComponent, por isso não utilizamos as palavras let, var ou const.
Nesse caso, provavelmente o typeScript está reclamando por você não ter inicializado os atributos, passando algum valor para eles.
Uma forma para resolver é adicionar o operador de asserção não nulo, representado pelo símbolo de exclamação, assim:
valor!: number
destino!: numberDe acordo com a documentação:
A partir do Typescript 2.0, você pode impor a verificação nula estrita, assim o TypeScript garante que nenhuma variável seja involuntariamente null ou undefined. Assim, o verificador de tipos gera um erro se você deixar uma variável sem atribuição. E, aplicando o operador de asserção não nulo ( ! ), você está dizendo ao verificador de tipos para não lançar esse erro.
Caso tenha interesse em saber mais detalhes e conhecer outros operadores, pode acessar esse site da documentação do Angular.
Também recomendo a nossa formação TypeScript com o professor Flávio.
Abraços, bons estudos!