Assertion de type (TypeScript) - <TYPE>var et var as TYPE

L’assertion de type est utilisée quand le développeur connaît le type d’une variable plus précisément que le compilateur TypeScript.

L’assertion de type est une manière pour le développeur de dire au compilateur “Fais-moi confiance, je te dis que cette variable est de ce type-là, quoi que tu puisses penser”.

Il existe deux syntaxes pour faire une assertion de type.

Avec les chevrons à gauche de la valeur à typer :

let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;

Et avec as à droite de la valeur à typer :

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;

Dans les deux exemples ci-dessus, la variable someValue a le type any. La propriété someValue.length n’est donc pas reconnue par le compilateur TypeScript. Si on tente d’accéder à cette propriété, le code plantera.

L’assertion de type nous permet de dire au compilateur “Considère que someValue est de type string”, avec l’une des deux syntaxes suivantes :

<string>someValue
someValue as string

Et comme en JavaScript, toutes les strings ont une propriété length, notre problème est résolu.



Ressources supplémentaires

Informations

Tags : typescript

Dernière mise à jour :

Auteur : AngularChef

Qualité : Pas finalisé