🌐
INF.03Instrukcje 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):
- Pojedynczy
=to przypisanie! Np.x = 5. - Podwójny
==sprawdza, czy wartości są równe, ale ignoruje ich typ!5 == "5"zwrócitrue! - Potrójny
===sprawdza, czy wartości są równe ORAZ czy są tego samego typu!5 === "5"zwrócifalse(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.");
}