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!: number
De 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!