P
💻DeveloppementAvanceChatGPT

Maîtriser les types avancés TypeScript

Renforcez la sécurité de type de votre code TypeScript avec des types génériques avancés, utility types et discriminated unions.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un expert TypeScript avec une connaissance approfondie du système de types avancés. Je dois améliorer la sécurité de type de mon code TypeScript.

**Code actuel avec problèmes de typage :**
```typescript
[COLLER_LE_CODE_TYPESCRIPT]
```

**Contexte :**
- Version TypeScript : [EX: 5.3]
- Problèmes identifiés : [EX: trop de 'any', types trop larges, manque de narrowing]
- Objectif : [EX: éliminer tous les 'any', créer des types réutilisables, typer une API]

Améliore le typage de ce code en :

1. **Types génériques** : remplace les types génériques avec des contraintes appropriées (extends, conditional types) pour maximiser la réutilisabilité sans perdre en sécurité.
2. **Utility types** : applique les utility types natifs (Partial, Required, Pick, Omit, Record, ReturnType, Parameters, Awaited) là où c'est pertinent.
3. **Discriminated unions** : si applicable, transforme les unions de types en discriminated unions pour un narrowing sûr.
4. **Template literal types** : utilise les template literal types pour les chaînes typées (noms d'événements, clés d'API).
5. **Mapped types** : crée des mapped types personnalisés pour les transformations de types récurrentes.
6. **Type guards** : implémente des type guards (is, asserts) pour le narrowing runtime.
7. **Explication pédagogique** : pour chaque type avancé utilisé, explique pourquoi c'est la meilleure approche dans ce contexte.

Pourquoi ce prompt fonctionne

<p>Ce prompt est conçu pour aller au-delà du TypeScript basique (interfaces et types simples) vers l'utilisation sophistiquée du système de types. La demande de justification pour chaque type avancé utilisé en fait un excellent outil d'apprentissage autant qu'un outil de production.</p><p>L'approche par catégories (génériques, utility types, discriminated unions, template literals, mapped types) garantit une exploration exhaustive des possibilités TypeScript plutôt que de s'arrêter à la première solution fonctionnelle trouvée.</p><p>La transformation de unions simples en discriminated unions est particulièrement précieuse car elle active le narrowing automatique de TypeScript, éliminant les type assertions manuelles (as) qui sont une source fréquente de bugs à runtime masqués par le compilateur.</p>

Cas d'usage

Amélioration de la type safety d'un projet TypeScriptApprentissage des types avancésÉlimination des 'any' dans une codebase

Résultat attendu

Code TypeScript refactorisé avec types avancés, explication pédagogique de chaque choix de typage et code 100% type-safe.

Formez-vous en profondeur

Découvrez le skill complet sur Prompt Guide pour maîtriser cette technique de A à Z.

Voir sur Prompt Guide