⊗tsSpGnTV 30 of 37 menu

Variables de type générique en TypeScript

Pour mieux comprendre le concept des génériques, créons notre première fonction - une fonction identité. Une telle fonction retourne exactement ce qui lui a été passé - avec le même type.

Commençons par écrire les variantes de notre fonction séparément.

Écrivons une fonction qui prend un nombre en paramètre et retourne un nombre :

function func(data: number): number { return data; }

Maintenant, écrivons une fonction qui prend une chaîne de caractères en paramètre et retourne une chaîne :

function func(data: string): string { return data; }

Supposons maintenant que nous voulons que tout cela soit fait par une seule fonction. C'est-à-dire que nous voulons effectuer une généralisation.

Pour cela, nous utilisons une variable de type, qui conserve le type de données. Une telle variable est déclarée dans des chevrons avant les parenthèses des paramètres de la fonction. Déclarons une telle variable, en lui donnant le nom T (n'importe quel nom est possible) :

function func <T>(ici les paramètres) { return data; }

Après cela, nous aurons une variable T, qui pourra être utilisée pour y stocker le type du paramètre, puis le spécifier comme type de retour.

Spécifions le type de notre paramètre en utilisant notre variable :

function func <T>(data: T) { return data; }

Il en résultera que le paramètre peut être passé avec n'importe quel type, et ce type sera sauvegardé dans notre variable T.

Maintenant, utilisons la valeur de la variable T comme indication du résultat de la fonction :

function func <T>(data: T): T { return data; }

Maintenant, le type de résultat de la fonction sera déduit du type du paramètre. Vérifions.

Appelons la fonction avec un nombre :

console.log( func(3) ); // affichera 3

Appelons la fonction avec une chaîne :

console.log( func('x') ); // affichera 'x'

Créez une fonction qui prend en paramètre soit deux nombres, soit deux chaînes de caractères. La fonction doit retourner la somme des paramètres.

bydeenesfrptru