switch în JavaScript

Structuri de control și funcții Toate browserele, Node.js

Alege între mai multe ramuri după valoarea unei variabile.

Sintaxă
switch (valoare) { case a: ...; break; default: ... }

Ce face switch

switch compară o valoare cu mai multe cazuri (case) și rulează codul cazului potrivit. Comparația este strictă, ca la ===.

Fiecare caz se încheie de obicei cu break. Fără el, execuția continuă și în cazurile de dedesubt. Ramura default rulează când niciun caz nu se potrivește.

Exemple

Exemplul 1: Ziua săptămânii

const zi = 6;

switch (zi) {
  case 1:
    console.log("Luni");
    break;
  case 6:
  case 7:
    console.log("Weekend");
    break;
  default:
    console.log("Zi lucrătoare");
}

Rezultat

Weekend

Exemplul 2: Ce se întâmplă fără break

const nivel = "argint";

switch (nivel) {
  case "aur":
    console.log("Transport gratuit");
  case "argint":
    console.log("Reducere 10%");
  case "bronz":
    console.log("Puncte de fidelitate");
}

Rezultat

Reducere 10%
Puncte de fidelitate

Greșeli frecvente

  • Uiți break și rulează și cazurile următoare, ca în al doilea exemplu. Uneori este intenționat, dar de cele mai multe ori este o greșeală.
  • Compari "5" (text) cu case 5 (număr). Comparația este strictă, deci cazul nu se potrivește.

Comenzi înrudite

  • if / else: Rulează un bloc de cod doar dacă o condiție este adevărată.