TypeScriptLeçon 6 sur 16

Alias de types et unions

Le mot-clé type donne un nom à n'importe quel type, et | réunit plusieurs types en une union. Une valeur de ce type peut être n'importe lequel de ses membres.

L’essentiel

  • type ID = number | string : la valeur est un nombre ou une chaîne.
  • Avant une vérification, seules les opérations communes à tous les membres sont permises.
  • Après typeof id === "string", TypeScript sait qu'il s'agit d'une chaîne dans le if.
  • type et interface décrivent tous deux des objets ; seul type peut nommer une union.

Exemple

type ID = number | string;type Point = { x: number; y: number }; function showId(id: ID): string {  if (typeof id === "string") {    return `ID ${id.toUpperCase()}`; // here id is a string  }  return `ID #${id}`; // and here it is a number} const start: Point = { x: 0, y: 0 }; console.log(showId(42));console.log(showId("ab-7"));console.log(`Start: ${start.x},${start.y}`);

Dans le if, id a toUpperCase car c'est forcément une chaîne. Après ce return, il ne reste que number. Point est un simple type objet nommé.

Exercice

Utiliser l’éditeur⌘ Entrée ou Ctrl Entrée lance le code, ⇧ ⌘ Entrée vérifie l’exercice.Tab et Maj Tab indentent la ligne ou la sélection ; Échap puis Tab quitte l’éditeur.La vérification compare ce que le programme a affiché à l’exercice ; les espaces en fin de ligne ne comptent pas.Après deux vérifications ratées, la solution s’ouvre. Votre code reste dans ce navigateur.

Autorisez Price à être un nombre ou une chaîne, convertissez les chaînes avec parseFloat, ajoutez "12.50" au tableau et affichez « 499, 1250, 300 » et « Sum: 2049 ».

Sortie

Ce que le programme affiche apparaîtra ici.