L'optionalité de break dans la structure switch-case en JavaScript
L'instruction break dans la structure switch-case
n'est pas obligatoire. En l'absence de break
après l'exécution du case prévu,
tous les case situés en dessous seront également exécutés.
Regardons un exemple :
let num = 1; // supposons le nombre 1 ici
switch (num) {
case 1:
console.log(1); // ceci s'exécutera
case 2:
console.log(2); // ceci s'exécutera aussi
case 3:
console.log(3); // ceci s'exécutera aussi
}
Modifions la valeur de la variable :
let num = 2; // supposons le nombre 2 ici
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2); // ceci s'exécutera
case 3:
console.log(3); // ceci s'exécutera aussi
}
Modifions la valeur de la variable :
let num = 3; // supposons le nombre 3 ici
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3); // ceci s'exécutera
}
Cette particularité est parfois utilisée pour résoudre des problèmes. Regardez l'exemple :
let num = 1;
let res;
switch (num) {
case 1:
case 2:
res = 'a';
break;
case 3:
res = 'b';
break;
}
console.log(res);
Il est cependant plus évident de résoudre
un tel problème avec if :
let num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);