𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝗮𝘂𝘅 𝘁𝘆𝗽𝗲𝘀 𝗱𝗲 𝗳𝗼𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁

TypeScript exige des types pour tout. Cela inclut vos fonctions. Vous devez définir des types pour les entrées et les sorties.

Syntaxe des fonctions

Vous définissez les types d'entrée et un type de sortie comme ceci :

function add(x: number, y: number): number { return x + y; }

TypeScript utilise également l'inférence de type. Vous n'avez pas toujours besoin d'écrire le type de sortie. Le compilateur le trouve pour vous.

Si votre fonction renvoie différents types, TypeScript s'en occupe. Par exemple, si une fonction renvoie un nombre ou une chaîne de caractères, le compilateur détecte les deux.

Types de retour spéciaux

  • void : Utilisez ceci lorsqu'une fonction ne renvoie rien.
  • never : Utilisez ceci lorsqu'une fonction lève une erreur ou arrête le programme.

Paramètres

Vous pouvez rendre les paramètres optionnels en utilisant un point d'interrogation.

function makeProfile(name: string, age: number, url?: string) { // code }

Vous pouvez également utiliser des valeurs par défaut. Cela rend un paramètre optionnel sans symboles spéciaux.

function makeProfile(name: string, age: number, url: string = "www.example.com") { return name + " visits " + url; }

Fonctions de rappel

Les fonctions sont des valeurs. Vous pouvez les passer en tant qu'arguments. Pour définir un type de rappel, utilisez cette syntaxe :

function makePage(func: (n: string, a: number, u?: string) => string, param1: string, param2: number) { func(param1, param2); }

Le nom des paramètres dans le rappel n'a pas d'importance. Seuls les types comptent.

Tableaux de fonctions

Si vous avez besoin d'une liste de fonctions, définissez-les comme un tableau de ce type de fonction.

function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) { // code }

Paramètres de reste

Utilisez l'opérateur de décomposition (spread operator) pour accepter n'importe quel nombre d'arguments. Cela stocke toutes les entrées dans un tableau.

function sum(...numbers: number[]) { // code }

sum(1, 2, 3);

Source : https://dev.to/jsha/introduction-to-typescript-function-types-hin