if. . . else
Wykonuje blok kodu tylko wtedy, gdy warunek jest prawdziwy, a w przeciwnym razie opcjonalny blok else.
Przykład
#function grade(points) {
if (points >= 90) {
return 'celujący'
} else if (points >= 70) {
return 'dobry'
} else if (points >= 50) {
return 'dostateczny'
} else {
return 'do poprawy'
}
}
console.log(grade(95))
console.log(grade(72))
console.log(grade(30))Definicja i zastosowanie
#Instrukcja if sprawdza warunek w nawiasach. Jeśli jest prawdziwy, wykonuje blok zapisany zaraz za nim. Opcjonalny else zawiera kod na wypadek, gdy warunek jest fałszywy, a else if pozwala sprawdzać kolejne warunki po kolei.
Warunek nie musi być wartością true ani false. JavaScript sam zamienia go na wartość logiczną. Fałszywe (falsy) są tylko: false, 0, -0, 0n, "", null, undefined i NaN. Wszystko inne, także pusta tablica [] i pusty obiekt {}, liczy się jako prawda (truthy).
Warunki w łańcuchu else if są sprawdzane od góry i wykonuje się tylko pierwszy pasujący blok. Dlatego układaj je od najbardziej szczegółowego do najogólniejszego.
Składnia
#if (condition) {
// gdy prawda
}
if (condition) {
// gdy prawda
} else {
// gdy fałsz
}
if (condition1) {
// ...
} else if (condition2) {
// ...
} else {
// ...
}Więcej przykładów
#function welcome(name) {
if (name) {
return `Witaj, ${name}!`
}
return 'Witaj, nieznajomy!'
}
console.log(welcome('Ola'))
console.log(welcome(''))
console.log(welcome())Pusty napis i undefined są fałszywe, więc oba trafiają do drugiej gałęzi. Uważaj na liczbę 0: ona też jest fałszywa, choć często bywa poprawną wartością.
function buyItem(user, price) {
if (!user) {
return 'Zaloguj się'
}
if (user.coins < price) {
return 'Za mało monet'
}
user.coins -= price
return `Kupiono, zostało ${user.coins} monet`
}
console.log(buyItem(null, 50))
console.log(buyItem({ coins: 30 }, 50))
console.log(buyItem({ coins: 80 }, 50))const age = 16
const hasConsent = true
if (age >= 18 || hasConsent) {
console.log('Możesz dołączyć do kursu')
} else {
console.log('Potrzebna zgoda rodzica')
}Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Zawsze używaj nawiasów klamrowych, nawet przy jednej instrukcji. Zapis bez nich łatwo zepsuć, dopisując drugą linię, która wykona się zawsze.
- Zamiast głęboko zagnieżdżonych
ifsprawdzaj błędne przypadki na początku funkcji i od razu z niej wychodź przezreturn. - Do wyboru jednej z dwóch wartości wystarczy operator warunkowy
warunek ? a : b, a przy wielu stałych wartościach czytelniejszy bywaswitch.
Powiązane hasła
#- switchPorównuje wartość z listą przypadków case i wykonuje kod od pierwszego pasującego.
- ? :Operator warunkowy (ternary) zwraca jedną z dwóch wartości zależnie od warunku, w jednym krótkim wyrażeniu.
- &&, ||, !Operatory logiczne I (&&), LUB (||) i NIE (!). Łączą warunki, a && i || zwracają jedną ze swoich stron.
- ===Operator ścisłej równości porównuje wartości bez konwersji typów: true daje tylko ten sam typ i ta sama wartość.
- returnKończy działanie funkcji i przekazuje wartość do miejsca, w którym funkcję wywołano.
Widzisz błąd albo brakuje przykładu? Napisz do nas.