string, number, boolean, bigint, symbol, null, undefined, any, unknown, never, void, object, tableaux, tuples, enums, littéraux et unions, chacun avec un exemple.
Les types de données de base de TypeScript sont les sept primitives JavaScript, string, number, bigint, boolean, symbol, null et undefined, écrites en minuscules. Il y ajoute des types spéciaux (any, unknown, never, void, object), des structures comme les tableaux, les tuples et les enums, et des façons de combiner les types : types littéraux, unions et intersections.
Les quatre groupes
Recherchez dans la référence par nom ou filtrez-la par groupe. Chaque ligne contient un exemple d'une ligne que vous pouvez coller dans un fichier .ts, et la colonne des notes signale le comportement qui piège souvent, comme l'écart entre void et undefined ou la raison pour laquelle unknown est plus sûr que any.
Sept, comme JavaScript : string, number, bigint, boolean, symbol, null et undefined. number couvre à la fois les entiers et les décimaux ; il n'existe pas de type int ou float séparé.
Les deux acceptent n'importe quelle valeur. any vous laisse tout faire avec, donc les erreurs passent en silence. unknown ne vous laisse rien faire tant que vous ne l'avez pas affiné avec une vérification comme typeof, ce qui en fait le choix sûr pour les données non fiables.
never décrit des valeurs qui ne peuvent pas exister : le type de retour d'une fonction qui lève toujours une erreur, et ce qui reste d'une union une fois chaque membre traité. Ce second usage permet les vérifications d'exhaustivité.
Non. void est le type de retour d'une fonction dont la valeur de retour doit être ignorée. Une fonction typée comme renvoyant void peut recevoir un callback qui renvoie quelque chose, alors que undefined signifie que la valeur est réellement undefined.
object désigne toute valeur non primitive, comme les objets, les tableaux et les fonctions. {} désigne toute valeur sauf null et undefined, primitives comprises. Le type global Object est rarement utile ; préférez object ou un type objet précis.
Chaque vérification élimine des possibilités. Dans la dernière branche, le compilateur sait que value est une chaîne.
Si un nouveau statut rejoint l'union, l'affectation à never ne compile plus tant qu'un case n'est pas ajouté pour lui.
Du texte de n'importe quelle longueur. Les template literals sont aussi des chaînes.
Entiers et décimaux confondus, y compris NaN et Infinity.
Nombres entiers au-delà de la plage des entiers sûrs. Le suffixe n nécessite une cible ES2020.
Seulement true ou false.
Chaque appel à Symbol() crée une valeur unique.
Avec strictNullChecks activé, null doit figurer dans le type pour être autorisé.
La valeur d'une variable déclarée mais non affectée et d'une propriété optionnelle absente.
Désactive la vérification pour la valeur. noImplicitAny signale les endroits où il s'introduit sans prévenir.
Accepte n'importe quelle valeur mais n'autorise rien tant que vous ne l'avez pas affinée.
Aucune valeur n'a jamais ce type : fonctions qui lèvent toujours une erreur, et unions dont il ne reste rien.
Une valeur de retour qui doit être ignorée. Ce n'est pas la même chose que undefined.
Toute valeur non primitive : objets, tableaux et fonctions.
string[] et Array<string> signifient la même chose.
Équivaut à ReadonlyArray<number>. push et les autres méthodes de mutation sont retirées.
Longueur fixe avec un type par position. Les éléments optionnels vont à la fin : [number, number?].
Génère un véritable objet à l'exécution, contrairement à la plupart de la syntaxe TypeScript.
Décrit les propriétés en ligne. Nommez-le avec type ou interface pour le réutiliser.
Types des paramètres et du retour. Préférez-le au type Function trop permissif.
Des valeurs exactes plutôt que toute la primitive.
L'un de plusieurs types. Affinez avec typeof, in ou un champ commun avant d'utiliser les membres.
Tous les types à la fois. Surtout utilisé pour fusionner des types objet.
Primitives
Spéciaux
Structures
Combinaisons
Rechercher des types
unknown, tuple, null...
Filtrer par groupe
Tous
{n} types affichés sur {v}
Aucun type ne correspond à cette recherche.
Types TypeScript avec exemples
Type
Groupe
Exemple
Note
Commencer gratuitement · Sans carte bancaire