0Pricing
TypeScript Academy · Leçon

Importations et exportations réservées aux types

Utilisez import type pour éviter le surcoût à l’exécution

Importations et exportations réservées aux types est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.

Bienvenue

Les importations et exportations réservées aux types (import type / export type) ont été introduites dans TypeScript 3.8 pour donner aux développeurs un contrôle explicite sur ce qui constitue une dépendance à l’exécution et ce qui n’est qu’un type.

Pourquoi les types uniquement sont importants

Les importations ordinaires peuvent inclure du code à l’exécution. Si vous n’avez besoin que du type, l’importation peut être entièrement supprimée de la sortie compilée.
import { User } from './models'; // includes runtime binding
import type { User } from './models'; // compile-time only, erased

Syntaxe de import type

Placez `type` après le mot-clé `import`. Vous ne pouvez pas utiliser le nom importé comme une valeur.
import type { ApiResponse } from './api-types';

function handleResponse(res: ApiResponse<User>): void {
  // ApiResponse used as type annotation only
}

Syntaxe de export type

Utilisez `export type` pour marquer explicitement les exportations comme réservées aux types.
// user.types.ts
export type UserId = string;
export type { User, UserRole };

Importation de type inline

TypeScript 4.5 et versions ultérieures permettent de marquer des importations individuelles comme réservées aux types dans une instruction d’importation ordinaire.
import { type User, createUser } from './user';
// User is type-only, createUser is a runtime value

Résolution des dépendances circulaires

Les importations réservées aux types peuvent résoudre les problèmes de dépendances circulaires, car elles ne créent pas de liaisons à l’exécution.

verbatimModuleSyntax

TypeScript 5.0 a introduit `verbatimModuleSyntax`. Lorsque cette option est activée, vous DEVEZ utiliser `import type` pour les importations réservées aux types afin d’éviter toute confusion de l’empaqueteur.
// tsconfig.json
{ "compilerOptions": { "verbatimModuleSyntax": true } }

importsNotUsedAsValues

L’option du compilateur `importsNotUsedAsValues` (remplacée par verbatimModuleSyntax) contrôle la manière dont TypeScript traite les importations de valeurs inutilisées.

Avantages pour les empaqueteurs

Les empaqueteurs comme Vite et esbuild utilisent les marqueurs `import type` pour ignorer le traitement des importations de types, ce qui accélère la compilation.

Réexportations réservées aux types

Réexportez des types sans inclure leur module à l’exécution.
// public-api.ts
export type { User, UserRole } from './internal-user';
export { createUser } from './internal-user'; // runtime

Erreur : impossible d’utiliser import type comme valeur

Utiliser une importation réservée aux types comme valeur à l’exécution provoque une erreur de compilation.
import type { User } from './user';
// const u = new User(); // Error — User was imported as type-only

Vérification rapide

Quand devez-vous utiliser `import type` plutôt qu’un `import` ordinaire ?

Récapitulatif

Utilisez `import type` et `export type` pour les importations et exportations réservées aux types. Elles sont supprimées lors de la compilation, empêchent les dépendances à l’exécution envers les fichiers de types et sont obligatoires lorsque verbatimModuleSyntax est activé.

Questions Fréquemment Posées

La leçon « Importations et exportations réservées aux types » est-elle gratuite ?

Oui — le texte complet de « Importations et exportations réservées aux types » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Importations et exportations réservées aux types » ?

Utilisez import type pour éviter le surcoût à l’exécution Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Importations et exportations réservées aux types » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?

Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Syntaxe des modules ES : import et export
  2. Réexportations et fichiers d’agrégation
  3. Importations et exportations réservées aux types
  4. Espaces de noms ou modules : usage moderne
← Retour à TypeScript Academy