TypeScriptLeçon 4 sur 16

Fonctions : paramètres et type de retour

Pour une fonction, on type les paramètres et le résultat. TypeScript vérifie alors chaque appel : aucun argument oublié, aucun mauvais type.

L’essentiel

  • Le type de retour se place après les parenthèses : function total(): number.
  • Un paramètre optionnel prend un ? et se place après les paramètres obligatoires.
  • Une valeur par défaut rend le paramètre optionnel et fixe son type.
  • void signifie que la fonction ne renvoie rien.
  • Les fonctions fléchées se typent de la même façon : (n: number): number => n * 2.

Exemple

function formatPrice(amount: number, currency: string = "USD"): string {  return `${amount.toFixed(2)} ${currency}`;} function greet(name: string, title?: string): string {  return title ? `Hello, ${title} ${name}` : `Hello, ${name}`;} const double = (n: number): number => n * 2; function log(message: string): void {  console.log(message);} log(formatPrice(5));log(formatPrice(7.5, "EUR"));log(greet("Lee"));log(greet("Lee", "Dr."));log(`${double(21)}`);// formatPrice("5"); // error: string is not assignable to number

formatPrice(5) prend la devise par défaut, et greet fonctionne avec ou sans title. formatPrice("5") échoue à la vérification : un nombre est attendu.

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.

Donnez à people la valeur par défaut 2 dans splitBill, rendez tipPercent optionnel et décommentez les appels. Sortie : « Each pays 25.00 », « Each pays 30.00 », « Each pays 27.50 ».

Sortie

Ce que le programme affiche apparaîtra ici.