Alias de Type

Ceci est la traduction en fran�ais d'une sp�cification de TypeScript #957 en cours d'impl�mentation.

Les alias de type permettent d'associer des noms � des types quelconques.

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
type StringOrNumber = string | number;
type Text = string | string[];
type Point = [number, number];
type NameLookup = Dictionary<string, Person>;
type LinkedList = {
    data: string;
    next: LinkedList;
};
var fullName: {
    first: string;
    middle: string;
    last: string;
};
type Name = typeof fullName;
Les alias de type sont particuli�rement utiles pour nommer les types qui ne sont pas des types objets, comme les unions de types ou les types primitifs.

Les alias de type peuvent se substituer aux instanciations de types g�n�riques (tel que pour le type NameLookup ci-dessus), mais ils ne peuvent pas eux-m�me avoir de param�tres de type.

Tout comme les d�clarations d'interface, les alias de type d�clarent uniquement des types et non des valeurs. Par exemple :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
class List<T> {
    // List implementation
}
type StringList = List<string>;
var x: StringList = new StringList();  // Error, cannot find name 'StringList'
Une erreur est survenue sur l'instanciation (new) de StringList() parce qu'il n'y a pas de m�thode constructeur nomm� StringList. Seul un type ayant ce nom existe. Pour avoir les deux, une sous-classe peut �tre d�clar�e :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
class List<T> {
    // List implementation
}
class StringList extends List<string> { }
var x: StringList = new StringList();  // Ok