Maison > interface Web > js tutoriel > Maîtriser les génériques TypeScript : améliorer la réutilisabilité du code et la sécurité des types

Maîtriser les génériques TypeScript : améliorer la réutilisabilité du code et la sécurité des types

王林
Libérer: 2024-08-24 11:20:35
original
485 Les gens l'ont consulté

Mastering TypeScript Generics: Enhancing Code Reusability and Type Safety

TypeScript a révolutionné la façon dont nous écrivons JavaScript, en apportant le typage statique et des outils améliorés à notre processus de développement. L'une de ses fonctionnalités les plus puissantes concerne les génériques, qui nous permettent de créer des composants réutilisables fonctionnant avec une variété de types. Dans cet article, nous approfondirons les génériques TypeScript, explorant comment ils peuvent améliorer la flexibilité et la sécurité des types de votre code.

Comprendre les génériques

Les génériques offrent un moyen de créer des composants pouvant fonctionner sur différents types plutôt que sur un seul. Ils sont particulièrement utiles lorsque vous souhaitez créer un composant capable de gérer différents types de données sans sacrifier les informations de type.

Commençons par un exemple simple :

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

let output = identity<string>("myString");
console.log(output);  // Output: myString
Copier après la connexion

Dans cet exemple, T est une variable de type qui capture le type fourni par l'utilisateur. Cela nous permet d'utiliser ce type d'informations plus tard.

Génériques dans les fonctions

Les génériques sont couramment utilisés dans les fonctions pour créer du code flexible et réutilisable. Voici un exemple plus pratique :

function firstElement<T>(arr: T[]): T | undefined {
    return arr[0];
}

let numbers = [1, 2, 3, 4, 5];
let strings = ["a", "b", "c"];

console.log(firstElement(numbers));  // Output: 1
console.log(firstElement(strings));  // Output: "a"
Copier après la connexion

Cette fonction fonctionne avec des tableaux de n'importe quel type, renvoyant le premier élément de ce type ou non défini si le tableau est vide.

Génériques dans les interfaces

Les génériques peuvent également être utilisés dans les interfaces pour créer des structures de données flexibles :

interface KeyValuePair<K, V> {
    key: K;
    value: V;
}

let pair: KeyValuePair<string, number> = { key: "age", value: 30 };
Copier après la connexion

Génériques en classe

Les classes peuvent également exploiter les génériques pour créer des composants réutilisables :

class Queue<T> {
    private data: T[] = [];

    push(item: T) {
        this.data.push(item);
    }

    pop(): T | undefined {
        return this.data.shift();
    }
}

let numberQueue = new Queue<number>();
numberQueue.push(10);
numberQueue.push(20);
console.log(numberQueue.pop());  // Output: 10
Copier après la connexion

Cette classe Queue peut fonctionner avec n'importe quel type de données, assurant la sécurité des types tout au long de son utilisation.

Contraintes génériques

Parfois, nous souhaitons limiter les types qu'un générique peut utiliser. On peut le faire avec des contraintes :

interface Lengthwise {
    length: number;
}

function logLength<T extends Lengthwise>(arg: T): void {
    console.log(arg.length);
}

logLength("Hello");  // Works
logLength([1, 2, 3]);  // Works
logLength(3);  // Error: Number doesn't have a length property
Copier après la connexion

Dans cet exemple, nous limitons T aux types qui ont une propriété de longueur.

Conclusion

Les génériques sont une fonctionnalité puissante de TypeScript qui permet une plus grande réutilisation du code et une plus grande sécurité des types. En maîtrisant les génériques, vous pouvez écrire du code plus flexible et plus robuste qui fonctionne sur une variété de types. Au fur et à mesure que vous continuez à développer avec TypeScript, recherchez des opportunités d'utiliser des génériques pour améliorer la flexibilité et la maintenabilité de votre code.

N'oubliez pas que la clé pour maîtriser les génériques est la pratique. Essayez de refactoriser une partie de votre code existant pour utiliser des génériques, et vous verrez bientôt les avantages en termes de réutilisabilité du code et de sécurité des types.

Plus de tutoriels Typescript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal