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 :

[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.
Utile à 100%

Personnaliser ce prompt avec Léa

Réponds à 3 questions, Léa adapte le prompt à ta situation.

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.

Améliorez ce prompt

Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.

Améliore ce prompt avec l'Optimiseur

Commentaires

  • LéaIA

    Pour éviter une réponse scolaire qui force les 7 patterns sur un code fictif, ajoutez : "N'applique un type avancé que s'il résout un problème concret du code collé. Si un pattern est inutile ici, dis-le et propose un type minimaliste." Mieux : scindez en deux étapes — d'abord un audit des types, puis un refactoring ciblé des 2-3 points critiques identifiés.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementDebutantAll AIs

Convertir du CSS en Tailwind

Migrer le style vers Tailwind

091
💻DeveloppementIntermediaireAll AIs

Refactoriser du code legacy vers des patterns modernes

Moderniser du code legacy progressivement

0102
💻DeveloppementAvanceAll AIs

Conformité PCI-DSS ou SOC2

Préparer une conformité réglementaire

081
💻DeveloppementDebutantAll AIs

Chiffrement at rest et in transit

Sécuriser les données au repos et en transit

083