Menu
Coddy logo textTech

Créer une fonction d'identité générique

Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy. Leçon 58 sur 73.

Voici la syntaxe d’une fonction générique utilisant l’exemple classique de identity :

function identity(arg: T): T {
  return arg;
}

Le <T> après le nom de la fonction déclare un paramètre de type appelé T. Ce T agit comme un espace réservé pouvant représenter n’importe quel type. Lorsque vous utilisez cette fonction, TypeScript remplace T par le type réel avec lequel vous travaillez.

La beauté de cette approche est qu’elle préserve les informations de type.

Si vous appelez identity("hello"), TypeScript sait que le type de retour est string. Si vous appelez identity(42), il sait que le type de retour est number.

Vous bénéficiez de toute la flexibilité liée à l’utilisation de plusieurs types, tout en conservant une sécurité de typage complète.

Par convention, T représente « Type », mais tu peux utiliser le nom que tu veux pour ton paramètre de type. L’important est qu’il crée une relation entre les types d’entrée et de sortie de ta fonction.

challenge icon

Défi

Facile

Crée une fonction générique nommée wrapInObject qui accepte un argument de n’importe quel type et renvoie un objet contenant cette valeur.

La fonction doit :

  • Utiliser un paramètre de type générique T
  • Accepter un paramètre nommé item de type T
  • Renvoyer un objet avec une seule propriété value de type T
  • Posséder une annotation explicite du type de retour

Crée les variables suivantes pour tester ta fonction :

  • wrappedString - appelle wrapInObject avec la chaîne "Hello TypeScript"
  • wrappedNumber - appelle wrapInObject avec le nombre 42
  • wrappedBoolean - appelle wrapInObject avec le booléen true

Affiche les résultats suivants :

  • Affiche wrappedString.value
  • Affiche wrappedNumber.value
  • Affiche wrappedBoolean.value
  • Affiche le résultat de l’appel de wrapInObject avec la chaîne "Generic", en accédant à la propriété value
  • Affiche le résultat de l’appel de wrapInObject avec le nombre 100, en accédant à la propriété value

Essayez vous-même

// TODO: Écrivez votre code ici
// Créez la fonction générique wrapInObject

// TODO: Créez les variables de test
// wrappedString, wrappedNumber, wrappedBoolean

// Affichez les sorties
console.log(wrappedString.value);
console.log(wrappedNumber.value);
console.log(wrappedBoolean.value);
console.log(wrapInObject("Generic").value);
console.log(wrapInObject(100).value);
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Introduction à TypeScript

Entraînez-vous par vous-même : Compilateur JavaScript en ligne