Łapka LogoŁapka Infa
🌐
INF.03

Instrukcje warunkowe (if / else)

Z podejmowaniem decyzji na stronie bywa krucho. Różnice między = (przypisanie), == (porównanie) i ===.

Instrukcje warunkowe

Kod na egzaminie INF.03 zazwyczaj musi podjąć jakąś decyzję. "Jeśli wpisane hasło jest krótsze niż 8 znaków, wyświetl komunikat o błędzie". Do tego służą bloki if.

Podstawowy If i Else

let wiek = 18;

if (wiek >= 18) {
    console.log("Możesz wejść.");
} else if (wiek == 17) {
    console.log("Jeszcze tylko rok!");
} else {
    console.log("Dostęp zabroniony.");
}

Operatory Logiczne

Często chcemy sprawdzić dwa warunki naraz:

  • && (AND / Oraz) – Zwróci prawdę tylko, jeśli oba warunki są prawdziwe.
  • || (OR / Lub) – Zwróci prawdę, jeśli przynajmniej jeden z warunków jest prawdziwy.
  • ! (NOT / Negacja) – Odwraca wynik (z prawdy robi fałsz).
let czyPelnoletni = true;
let czyMaBilet = false;

if (czyPelnoletni && czyMaBilet) {
    // Nie wykona się, bo brak biletu.
}

Pułapka rygorystyczna: == vs === 🪤

Największy klasyk pomyłek początkujących (i pożeracz czasu na CKE):

  1. Pojedynczy = to przypisanie! Np. x = 5.
  2. Podwójny == sprawdza, czy wartości są równe, ale ignoruje ich typ! 5 == "5" zwróci true!
  3. Potrójny === sprawdza, czy wartości są równe ORAZ czy są tego samego typu! 5 === "5" zwróci false (liczba nie równa się tekstowi).

Złota zasada: Staraj się ZAWSZE używać ===, by uniknąć niespodzianek przy wczytywaniu danych z formularzy!

Instrukcja Switch

Jeśli masz bardzo dużo "ifów", które sprawdzają tę samą zmienną (np. dni tygodnia), lepiej użyć switch:

let ocena = 5;

switch (ocena) {
    case 5:
        console.log("Bardzo dobrze!");
        break; // Pamiętaj o break, inaczej kod wykona kolejne bloki!
    case 1:
        console.log("O rany!");
        break;
    default:
        console.log("Zwykła ocena.");
}