O que significa o operador ! (ponto de exclamação) ao acessar uma propriedade de objeto em TypeScript?
Olá a todos! Comecei a estudar TypeScript recentemente e me deparei com uma construção que não entendi. No código de um colega, vi o uso do ponto de exclamação após uma variável ou antes de acessar uma propriedade de objeto. Por exemplo:
```typescript
const userName: string | null = getUserName();
const length = userName!.length;
```
Ou esta variação:
```typescript
interface User {
name?: string;
email?: string;
}
function getUserEmail(user: User): string {
return user.email!;
}
```
Eu entendo que `?` significa valor opcional (pode ser undefined ou null). Mas o que `!` faz? É algum operador de acesso forçado? Isso não causará um erro em tempo de execução se o valor for realmente null ou undefined?
Tentei pesquisar no Google, mas em todos os lugares falam sobre "non-null assertion operator". Para ser honesto, parece assustador. Vocês podem explicar em palavras simples como isso funciona e quando é seguro usar?
Desde já, obrigado pela ajuda!
No answers yet.
Faça login para deixar uma resposta
Blogs
Como obter a hora atual em Swift: 5 erros fatais e suas soluções
Documentação em Kotlin: escrevendo código que fala por si só
Chat-bots em Go: Escrevendo um assistente rápido e confiável do zero
Metaprogramação em PHP: técnicas avançadas para desenvolvedores