L'opérateur ! (point d'exclamation) en TypeScript : que fait-il lors de l'accès à une propriété ?
Bonjour à tous ! J'ai récemment commencé à apprendre TypeScript et je suis tombé sur une syntaxe étrange avec un point d'exclamation. J'ai rencontré ce code :
```typescript
let name: string | null = getUserName();
console.log(name!.toUpperCase());
```
Je comprends que `name` peut être `string` ou `null`. Mais que fait ce `!` après `name` ? Sans lui, TypeScript râle : "Object is possibly 'null'". Avec lui, tout fonctionne.
Est-ce un opérateur ? Modifie-t-il le type ? Ou est-ce juste une façon de dire au compilateur "tais-toi" ? Quand est-il approprié de l'utiliser, et quand est-ce dangereux ? J'ai lu sur l'optional chaining (`?.`), mais c'est une syntaxe complètement différente.
Pouvez-vous expliquer en termes simples ce que fait `!` (point d'exclamation / bang) lors de l'accès à un membre d'objet ? Et en quoi diffère-t-il d'une assertion de type classique avec `as` ?
Merci !
<<>>
Qu'est-ce que l'opérateur ! (non-null assertion) en TypeScript ?
C'est un opérateur d'assertion de valeur non nulle (non-null assertion operator). Il indique
No answers yet.
Connectez-vous pour laisser une réponse