if / else în JavaScript

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

Rulează un bloc de cod doar dacă o condiție este adevărată.

Sintaxă
if (conditie) { ... } else if (alta_conditie) { ... } else { ... }

Ce face if / else

if verifică o condiție. Dacă este adevărată, rulează blocul dintre acolade. Cu else if adaugi alte condiții, verificate în ordine, iar else prinde toate celelalte cazuri.

Pentru comparații folosește === (egal strict) și !== (diferit strict). Ele compară și valoarea, și tipul. Varianta == transformă tipurile înainte de comparare și dă rezultate surprinzătoare, de exemplu 0 == "" este true.

Condițiile se combină cu && (și), || (sau) și ! (negație).

Exemple

Exemplul 1: if, else if, else

const nota = 8;

if (nota >= 9) {
  console.log("Foarte bine");
} else if (nota >= 5) {
  console.log("Promovat");
} else {
  console.log("Nepromovat");
}

Rezultat

Promovat

Exemplul 2: Condiții combinate

const varsta = 20;
const areBilet = true;

if (varsta >= 18 && areBilet) {
  console.log("Acces permis");
}

if (!areBilet || varsta < 18) {
  console.log("Acces interzis");
}

Rezultat

Acces permis

Exemplul 3: Operatorul ternar și diferența dintre == și ===

Pentru alegeri scurte între două valori, scrie conditie ? valoare_da : valoare_nu.

const stoc = 0;
console.log(stoc > 0 ? "În stoc" : "Stoc epuizat");

console.log(5 == "5");
console.log(5 === "5");

Rezultat

Stoc epuizat
true
false

Greșeli frecvente

  • Scrii if (x = 5) în loc de if (x === 5). Un singur = atribuie valoarea și condiția este mereu adevărată.
  • Uiți că unele valori sunt considerate false: 0, "", null, undefined, NaN. if (cantitate) sare peste blocul de cod și când cantitatea este 0.

Comenzi înrudite

  • switch: Alege între mai multe ramuri după valoarea unei variabile.
  • typeof: Returnează tipul unei valori ca text: „string”, „number”, „boolean”, „object” etc.
  • includes: Verifică dacă un text conține alt text sau dacă un tablou conține o valoare.