🧙♂️ [SIMPLES E RÁPIDO]: Saiba a diferença no Typescript entre “?.” e “!.”
No typescript, o ponto de interrogação "?." verifica se o objeto é null ou undefined antes de tentar acessar uma propriedade e caso o objeto seja null/undefined, irá retornar null/undefined ao invés de acessar a propriedade.
Já o ponto de exclamação "!." apenas ignora os tipos null e undefined do objeto e deixa você acessar as propriedades sem dar erro no typescript. Mas na hora que o código javascript rodar, se o objeto for null/undefined, você tera um erro.
Muito cuidado na hora de usar o ponto de exclamação e recomendo você só usar ele quando você tiver 110% de certeza que o objeto não vai ser null/undefined e em casos bem específicos.
Lembrando que você precisa configurar strictNullChecks como true no tsconfig.json.
Caso você queira ver essa explicação em video com exemplos de código: https://youtube.com/shorts/OLYPM-ymBg8