🧙♂️ [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