Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Uso da exclamação em ExcluirPensamentoComponent

Olá!

Em determinado momento do vídeo, é criado o seguinte código no método ngOnInit() do componente ExcluirPensamentoComponent:

this.service.buscarPorId(parseInt(id!)).subscribe((pensamento) => {
      this.pensamento = pensamento;
});

Não entendi o uso da exclamação ao passar o id como parâmetro de buscarPorId(): buscarPorId(parseInt(id!)).

Por favor, poderiam informar se é alguma coisa do TypeScript? É uma forma de assumir a responsabilidade de que o id não será nulo?

Obrigado.

2 respostas
solução!

Olá Matheus,

Esse é o operador de asserção não nulo ( ! ).

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.

Neste modo, as variáveis digitadas não permitem null e undefined por padrão. O verificador de tipo gera um erro se você deixar uma variável sem atribuição ou tentar atribuir null ou undefined a uma variável cujo tipo não permite null e undefined.

O verificador de tipo também gera um erro se não puder determinar se uma variável será null ou undefined em tempo de execução. Assim, você está dizendo ao verificador de tipos para não lançar um erro aplicando o operador de asserção não nulo ( ! )."

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.

Bons estudos!

Obrigado, professora.

Eu fiz a formação do prof. Flávio e achei excelente. Só não me recordava do uso da !, mas agora entendi :)