Menu
Coddy logo textTech

Paramètres optionnels avec '?'

Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy. Leçon 25 sur 73.

Parfois, vous souhaitez créer des fonctions où certains paramètres ne sont pas toujours requis. TypeScript fournit la syntaxe ? pour marquer les paramètres comme optionnels, ce qui signifie que les appelants peuvent choisir de les fournir ou non lors de l'appel de la fonction.

Pour rendre un paramètre optionnel, vous ajoutez un point d'interrogation après le nom du paramètre mais avant l'annotation de type :

function greet(name: string, greeting?: string): string {
  if (greeting) {
    return greeting + ", " + name;
  }
  return "Hello, " + name;
}

Dans cet exemple, name est requis alors que greeting est optionnel. Vous pouvez appeler cette fonction avec seulement le nom (greet("Alice")) ou avec les deux paramètres (greet("Alice", "Good morning")). À l'intérieur de la fonction, les paramètres optionnels ont le type string | undefined, vous devriez donc vérifier s'ils existent avant de les utiliser.

challenge icon

Défi

Facile

Créez une fonction nommée createUserProfile qui prend deux paramètres : username de type string (obligatoire) et displayName de type string (optionnel). La fonction doit retourner une chaîne de caractères avec une annotation de type de retour explicite.

Lorsque les deux paramètres sont fournis, la fonction doit retourner : "Profile: [displayName] (@[username])"

Lorsque seul le nom d'utilisateur est fourni, la fonction doit retourner : "Profile: @[username]"

Créez une autre fonction nommée calculateDiscount qui prend deux paramètres : price de type number (obligatoire) et membershipLevel de type string (optionnel). La fonction doit retourner un nombre avec une annotation de type de retour explicite.

Lorsque les deux paramètres sont fournis, la fonction doit retourner le prix réduit de 10 % (multiplier par 0.9).

Lorsque seul le prix est fourni, la fonction doit retourner le prix d'origine inchangé.

Testez vos fonctions en les appelant avec les valeurs suivantes et en affichant les résultats :

  • Appelez createUserProfile avec "john_doe" et "John Doe"
  • Appelez createUserProfile avec seulement "jane_smith"
  • Appelez calculateDiscount avec 100 et "premium"
  • Appelez calculateDiscount avec seulement 75

Affichez chaque résultat sur une ligne distincte dans l'ordre spécifié ci-dessus.

Essayez vous-même

// TODO : Écrivez votre code ici
// Créez la fonction createUserProfile avec les annotations de type appropriées
// Créez la fonction calculateDiscount avec les annotations de type appropriées

// Testez les fonctions et affichez les résultats
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Introduction à TypeScript

Entraînez-vous par vous-même : Compilateur JavaScript en ligne