Maîtriser les instructions switch en JavaScript : syntaxe, cas d’utilisation et exemples pratiques

目次

1. Introduction : Qu’est‑ce qu’un switch case ?

En JavaScript, le branchement conditionnel joue un rôle crucial dans le contrôle du flux d’un programme. Parmi ces structures, l’instruction switch est une syntaxe qui gère efficacement de multiples conditions.
Une instruction switch est utile lorsque vous souhaitez exécuter différents processus en fonction d’une valeur précise. Par exemple, elle sert à afficher des messages différents selon le jour de la semaine ou à changer d’action en fonction de l’entrée de l’utilisateur.

Cas d’utilisation de l’instruction switch

L’instruction switch est particulièrement efficace dans les scénarios suivants :

  • Lorsque vous voulez traiter plusieurs conditions de façon efficace : au lieu de répéter des instructions if, le switch simplifie votre code.
  • Lorsque vous voulez exécuter des processus différents pour chaque condition : pratique pour adapter le comportement selon les données.
  • Lorsque vous voulez améliorer la lisibilité du code : sa structure claire aide à organiser la logique conditionnelle.

Principales caractéristiques du switch

  • Branchement basé sur la valeur : le switch vérifie si le résultat évalué d’une expression correspond à une valeur spécifique.
  • Contrôle avec break : l’instruction break empêche l’exécution de « fall‑through » vers le cas suivant.
  • Utilisation de default : définit le comportement par défaut lorsqu’aucun cas ne correspond.

Résumé

L’instruction switch est un outil pratique qui organise le branchement conditionnel et améliore la lisibilité en JavaScript. Dans la section suivante, nous expliquerons sa syntaxe de base et comment l’utiliser avec des exemples concrets.

2. Syntaxe de base et rôles

En JavaScript, l’instruction switch est une structure de contrôle pratique utilisée pour bifurquer la logique selon des valeurs spécifiques. Cette section détaille la syntaxe de base et le rôle de chaque élément.

Syntaxe de base

Voici la structure de base d’un switch.

switch (式) {
  case 値1:
    // 値1に一致した場合の処理
    break;
  case 値2:
    // 値2に一致した場合の処理
    break;
  default:
    // どの値にも一致しなかった場合の処理
}

Voici l’explication de chaque élément.

Détails des éléments de syntaxe

  1. switch (expression)

L’expression contient la valeur ou le calcul à comparer.

  1. case valeur :

Chaque case spécifie une valeur à comparer avec l’expression.

  1. break ;

L’instruction break quitte le switch après l’exécution du cas correspondant.

  1. default :

Définit le traitement effectué lorsqu’aucun cas ne correspond.

Exemple pratique

Voici un exemple d’affichage d’un message selon le jour de la semaine.

let day = "月曜日";

switch (day) {
  case "月曜日":
    console.log("週の始まりです。頑張りましょう!");
    break;
  case "金曜日":
    console.log("もうすぐ週末です。");
    break;
  default:
    console.log("通常の日です。");
}

Résumé

L’instruction switch offre un branchement conditionnel simple et lisible. Ensuite, nous présenterons « 3. Exemples pratiques de switch » pour explorer des usages plus avancés.

3. Exemples pratiques de l’instruction switch

Dans cette partie, nous expliquons le switch de JavaScript à travers des exemples concrets – du basique à l’avancé – afin de vous aider à comprendre son utilisation en programmation réelle.

Branchement conditionnel de base

Exemple 1 : Afficher un message selon le jour de la semaine

let day = "水曜日";

switch (day) {
  case "月曜日":
    console.log("今週も頑張りましょう!");
    break;
  case "水曜日":
    console.log("週の半ばです。あと少し!");
    break;
  case "金曜日":
    console.log("週末まであと1日!");
    break;
  default:
    console.log("リラックスできる日です。");
}

Regroupement de plusieurs cas

Exemple 2 : Distinguer les jours de semaine et les week‑ends

let day = "土曜日";

switch (day) {
  case "月曜日":
  case "火曜日":
  case "水曜日":
  case "木曜日":
  case "金曜日":
    console.log("今日は平日です。");
    break;
  case "土曜日":
  case "日曜日":
    console.log("今日は週末です。");
    break;
  default:
    console.log("無効な曜日です。");
}

Combinaison de fonctions avec switch

Exemple 3 : Permissions utilisateur

function getUserPermission(role) {
  switch (role) {
    case "admin":
      return "すべての権限があります。";
    case "editor":
      return "編集権限があります。";
    case "viewer":
      return "閲覧のみ可能です。";
    default:
      return "権限がありません。";
  }
}

console.log(getUserPermission("editor"));

Résumé

À travers ces exemples pratiques, vous devriez maintenant mieux comprendre comment utiliser l’instruction switch. Ensuite, nous aborderons « 4. switch vs if – Lequel devriez-vous utiliser ? ».

4. switch vs if — Lequel choisir ?

Les deux switch et if peuvent gérer le branchement conditionnel en JavaScript, mais ils sont utilisés différemment. Comprendre leurs différences vous aide à choisir le bon selon chaque situation.

Différences de base

Featureswitchif
Type of conditionBest for comparing specific valuesBest for complex expressions or range checks
ReadabilityEasier to organize many conditionsSimple conditions can be short and clear
FlexibilityLimited to fixed-value comparisonsAllows complex logical comparisons
PerformanceSometimes faster than if in certain situationsFast and efficient when conditions are few

Comparaison avec des exemples

Exemple 1 : Utilisation de switch

let color = "赤";

switch (color) {
  case "赤":
    console.log("ストップ!");
    break;
  case "黄":
    console.log("注意!");
    break;
  case "青":
    console.log("進んでください!");
    break;
  default:
    console.log("無効な色です。");
}

Exemple 2 : Utilisation de if

let score = 85;

if (score >= 90) {
  console.log("評価: A");
} else if (score >= 75) {
  console.log("評価: B");
} else if (score >= 50) {
  console.log("評価: C");
} else {
  console.log("評価: F");
}

Résumé

En choisissant correctement entre switch et if, vous pouvez écrire du code efficace. Ensuite, nous aborderons « 5. Conseils pour éviter les erreurs ».

5. Conseils pour éviter les erreurs

L’instruction switch de JavaScript est pratique, mais une mauvaise utilisation peut entraîner des bugs ou un comportement inattendu. Cette section explique les points clés pour éviter les erreurs.

1. Oublier le break provoque le fall‑through

Exemple :

let fruit = "リンゴ";

switch (fruit) {
  case "リンゴ":
    console.log("リンゴが選ばれました。");
  case "バナナ":
    console.log("バナナが選ばれました。");
    break;
  default:
    console.log("その他のフルーツです。");
}

Résultat :

リンゴが選ばれました。
バナナが選ばれました。

Solution :

switch (fruit) {
  case "リンゴ":
    console.log("リンゴが選ばれました。");
    break;
  case "バナナ":
    console.log("バナナが選ばれました。");
    break;
  default:
    console.log("その他のフルーツです。");
}

2. N’oubliez pas le default

Exemple :

let command = "停止";

switch (command) {
  case "開始":
    console.log("システムを起動します。");
    break;
  case "終了":
    console.log("システムを終了します。");
    break;
}

Solution :

default:
  console.log("無効なコマンドです。");

3. Faites attention aux incompatibilités de type

Exemple :

let value = 1;

switch (value) {
  case "1":
    console.log("文字列の1です。");
    break;
  case 1:
    console.log("数値の1です。");
    break;
  default:
    console.log("一致しません。");
}

Résumé

En suivant ces conseils, vous pouvez éviter les erreurs et écrire du code efficace et maintenable.

6. Techniques avancées pour switch

L’instruction switch de JavaScript peut être utilisée non seulement pour le branchement de base, mais aussi pour des implémentations plus flexibles et avancées.

1. Regrouper plusieurs cas

Exemple :

let day = "土曜日";

switch (day) {
  case "月曜日":
  case "火曜日":
  case "水曜日":
  case "木曜日":
  case "金曜日":
    console.log("今日は平日です。");
    break;
  case "土曜日":
  case "日曜日":
    console.log("今日は週末です。");
    break;
  default:
    console.log("無効な曜日です。");
}

2. Instructions switch imbriquées

Exemple :

let menu = "ドリンク";
let subMenu = "コーヒー";

switch (menu) {
  case "フード":
    switch (subMenu) {
      case "ハンバーガー":
        console.log("ハンバーガーが選ばれました。");
        break;
      default:
        console.log("無効なフードメニューです。");
    }
    break;

  case "ドリンク":
    switch (subMenu) {
      case "コーヒー":
        console.log("コーヒーが選ばれました。");
        break;
      default:
        console.log("無効なドリンクメニューです。");
    }
    break;
}

Résumé

Utiliser ces techniques avancées vous permet de gérer des branchements complexes plus efficacement.

7. FAQ : Questions fréquentes et dépannage

De nombreux développeurs rencontrent des problèmes similaires lorsqu’ils utilisent l’instruction switch de JavaScript. Voici les questions courantes et leurs solutions.

Q1 : Que se passe‑t‑il si vous oubliez le break ?

Exemple :

let value = 2;

switch (value) {
  case 1:
    console.log("1が選択されました。");
  case 2:
    console.log("2が選択されました。");
  case 3:
    console.log("3が選択されました。");
}

Résultat :

2が選択されました。
3が選択されました。

Solution :

break;

Q2 : Le default est‑il obligatoire ?

Exemple :

let fruit = "パイナップル";

switch (fruit) {
  case "リンゴ":
    console.log("リンゴが選ばれました。");
    break;
  case "バナナ":
    console.log("バナナが選ばれました。");
    break;
}

Solution :

default:
  console.log("不明なフルーツです。");

Q3 : Le switch peut‑il comparer des plages ?

Exemple :

let score = 85;

switch (true) {
  case score >= 90:
    console.log("評価: A");
    break;
  case score >= 75:
    console.log("評価: B");
    break;
  default:
    console.log("評価: F");
}

Résumé

Utilisez cette FAQ pour gérer les erreurs et améliorer votre compréhension de l’instruction switch.

8. Exemples de code et exercices pratiques

Cette section fournit du code d’exemple et des exercices pratiques utilisant l’instruction switch. Essayez‑les pour approfondir votre compréhension.

1. Exemple de code de base

Exemple 1 : Déterminer la saison en fonction du mois

let month = 3;

switch (month) {
  case 12:
  case 1:
  case 2:
    console.log("冬です。");
    break;
  case 3:
  case 4:
  case 5:
    console.log("春です。");
    break;
  case 6:
  case 7:
  case 8:
    console.log("夏です。");
    break;
  case 9:
  case 10:
  case 11:
    console.log("秋です。");
    break;
  default:
    console.log("無効な月です。");
}

Exemple 2 : Permissions d’utilisateur

let role = "editor";

switch (role) {
  case "admin":
    console.log("すべての権限があります。");
    break;
  case "editor":
    console.log("編集権限があります。");
    break;
  case "viewer":
    console.log("閲覧権限のみあります。");
    break;
  default:
    console.log("権限がありません。");
}

2. Exercices pratiques

Problème 1 : Détecteur jour de semaine / week‑end

Créez un programme qui détermine si un jour donné est un jour de semaine ou un week‑end.

Problème 2 : Calcul du panier d’achat

Créez un programme qui calcule le coût total en fonction de la catégorie de produit et de la quantité.

Problème 3 : Système de menu téléphonique

Créez un programme qui affiche une option en fonction de l’entrée numérique d’un utilisateur.

Résumé

Utilisez ces exercices pour renforcer vos compétences avec l’instruction switch.

9. Résumé et applications futures

Cet article a fourni une explication complète de l’instruction switch de JavaScript, des bases aux techniques avancées. Voici les points clés et les prochaines étapes pour aller plus loin.

1. Points clés

  • Syntaxe et fonctionnalités de base : Utilisez case, break et default pour écrire une logique conditionnelle claire.
  • Comparaison avec if : switch est idéal pour des valeurs fixes, tandis que if gère des conditions complexes.
  • Prévention des erreurs : Utilisez break, la vérification de type et default pour éviter les bugs.
  • Techniques avancées : Utilisez l’imbrication, le mappage et le traitement dynamique pour une conception flexible.

2. Conseils d’application future

1. Optimiser une logique conditionnelle complexe

Vous pouvez gérer des conditions dynamiques en combinant plusieurs expressions et fonctions.

2. Mettre en œuvre un traitement dynamique avec le mappage

Utilisez des objets ou des maps pour une gestion des données efficace et évolutive.

const actions = {
  start: () => console.log("システムを起動します。"),
  stop: () => console.log("システムを停止します。"),
  restart: () => console.log("システムを再起動します。"),
};

let command = "restart";
(actions[command] || (() => console.log("無効なコマンドです。")))();

3. L’appliquer aux systèmes de gestion d’état

Vous pouvez utiliser switch dans le développement d’applications avec des bibliothèques de gestion d’état comme Redux ou Vuex.

Résumé

Le switch statement est un outil simple mais puissant dans la logique conditionnelle JavaScript. En comprenant à la fois les bases et les utilisations avancées, vous pouvez améliorer de façon significative la lisibilité et la maintenabilité de votre code.
Utilisez cet article comme base pour développer davantage vos compétences.

広告