Les types
JavaScript défini trois primitives (données qui ne sont pas des objets): string
, number
, boolean
. TypeScript définit aussi trois types qui possèdent le même nom.
string
représente une chaine de caractères comme "Hello world"number
représente un nombre, que ce soit uninteger
ou unfloat
.boolean
pour les valeurstrue
oufalse
Array
Pour déclarer un tableau tel que [1, 2, 3], la syntaxe number[]
ou encore Array<number>
est utilisée.
L'utilisation de <number>
après l'objet Array
vient préciser le type de données contenues dans le tableau. C'est une forme de generics
que vous verrez dans votre cours objet 2.
Any
Lorsqu'on ne veut pas qu'une variable soit associée à un type en particulier ou qu'elle génère une erreur de type lors de la compilation, any
peut être utilisé.
Par défaut, une variable obtient le type any
.
En assignant une valeur lors de l'initialisation, le type est inféré.
Utiliser le type any
permet d'utiliser une même variable pour plusieurs types ou encore un type qui est inconnu à l'avance.
let x;
x = 1;
x = false;
x = 'chat';
Ce code est tout à fait valide, mais peut poser certains enjeux que TypeScript aide à résoudre via les types.
Préciser le type
Dans la majeure partie des situations, le type sera précisé dès la déclaration de la variable.
let x: number;
Imaginons que x est utilisé pour calculer l'aire d'un carré. Le type évitera des erreurs telles que:
let x: number;
x = 'chat'; // erreur
tsc main.ts
main.ts:2:1 - error TS2322: Type 'string' is not assignable to type 'number'.
Préciser plusieurs types
Une variable peut se voir assigner plusieurs types potentiels. Par exemple, lorsqu'une variable peut être null
dans certains cas, on peut utiliser le symbole |
pour énumérer plusieurs types.
let message: string | null | undefined
Assigner ensuite
Exemples de déclaration de variables
let a: any;
let s: string;
let n: number;
let b: boolean;
let t: number[];