0Pricing
TypeScript Academy · Leçon

Paramètres facultatifs et par défaut

Gérez les arguments manquants avec ? et des valeurs par défaut

Paramètres facultatifs et par défaut est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 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

TypeScript vous permet de marquer les paramètres de fonction comme facultatifs avec `?` ou de leur attribuer des valeurs par défaut. Les API gagnent ainsi en flexibilité tout en restant sûres du point de vue des types.

Paramètres facultatifs avec ?

Ajoutez `?` après le nom d’un paramètre pour le rendre facultatif. Le type du paramètre devient T | undefined à l’intérieur de la fonction.
function greet(name: string, greeting?: string): string {
  return (greeting ?? 'Hello') + ', ' + name;
}

Valeurs par défaut des paramètres

Attribuez une valeur par défaut avec `=`. TypeScript infère le type à partir de la valeur par défaut et le paramètre devient facultatif sur le site d’appel.
function greet(name: string, greeting: string = 'Hello'): string {
  return greeting + ', ' + name;
}
greet('Alice');         // 'Hello, Alice'
greet('Bob', 'Hi');    // 'Hi, Bob'

Facultatif ou par défaut

`?` facultatif fournit undefined lorsqu’il est omis. Les valeurs par défaut remplacent undefined par une valeur de remplacement. Dans les deux cas, le paramètre n’est pas requis sur le site d’appel.
function opt(x?: number) { return x; }     // x: number | undefined
function def(x: number = 0) { return x; }  // x: number

Règles de placement

Les paramètres facultatifs et ceux qui ont une valeur par défaut doivent venir après les paramètres requis dans la signature de la fonction.
// Correct order
function create(name: string, role: string = 'user', active?: boolean) {}

// Error: required after optional
// function bad(x?: string, y: string) {}

Appeler explicitement avec undefined

Vous pouvez transmettre `undefined` à un paramètre doté d’une valeur par défaut pour déclencher cette valeur par défaut.
function log(msg: string, level: string = 'info') { console.log(level, msg); }
log('test', undefined); // level is 'info'

Paramètres facultatifs et surcharges

Il est parfois plus clair d’utiliser des surcharges plutôt que des paramètres facultatifs, en particulier lorsque le comportement de la fonction change considérablement selon qu’un paramètre est présent ou non.

Paramètres objets par défaut

Vous pouvez déstructurer un paramètre objet en définissant des valeurs par défaut pour chaque propriété.
function connect({ host = 'localhost', port = 5432 } = {}) {
  return `${host}:${port}`;
}

Paramètres tableaux par défaut

Les paramètres tableaux par défaut fonctionnent de la même manière. Fournissez un tableau vide par défaut pour éviter les vérifications de undefined.
function joinAll(parts: string[], sep: string = ', '): string {
  return parts.join(sep);
}

Chaînage facultatif sur les sites d’appel

Si la référence de fonction elle-même est facultative, utilisez le chaînage facultatif `?.()` pour l’appeler uniquement lorsqu’elle existe.
interface Config { onReady?: () => void; }
function init(config: Config) {
  config.onReady?.();
}

Type des paramètres facultatifs dans la fonction

Dans la fonction, un paramètre facultatif `x?: T` est de type `T | undefined`. Vous devez réduire ce type avant de l’utiliser comme T.
function process(id?: number) {
  if (id === undefined) return;
  console.log(id * 2); // id is number here
}

Vérification rapide

Quel est le type d’un paramètre déclaré comme `count?: number` dans le corps de la fonction ?

Récapitulatif

Utilisez `?` pour les paramètres facultatifs et `= value` pour les valeurs par défaut. Les paramètres facultatifs sont de type T | undefined dans la fonction. Les valeurs par défaut remplacent automatiquement undefined. Dans les deux cas, ils doivent venir après les paramètres requis.

Questions Fréquemment Posées

La leçon « Paramètres facultatifs et par défaut » est-elle gratuite ?

Oui — le texte complet de « Paramètres facultatifs et par défaut » 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 « Paramètres facultatifs et par défaut » ?

Gérez les arguments manquants avec ? et des valeurs par défaut 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 2 sur 4.

Combien de temps prend la leçon « Paramètres facultatifs et par défaut » ?

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. Annotations de types des paramètres et des valeurs de retour
  2. Paramètres facultatifs et par défaut
  3. Paramètres rest et opérateur spread avec des types
  4. void, never et signatures de fonctions
← Retour à TypeScript Academy