Operatory porównania i logiczne
=== i !== do porównywania wartości; && i || do łączenia warunków
= i === — to nie to samo
Najczęstszy błąd początkujących: mylenie = i ===. = (jeden znak równości) — PRZYPISANIE: wpisz wartość do zmiennej. === (trzy znaki równości, czytaj 'ściśle równa się') — PORÓWNANIE: sprawdź czy dwie wartości są równe. Wynik === to zawsze true lub false — nic więcej.
Trzy znaki równości — to nie literówka
W JavaScript są trzy rodzaje równości:
- = (jeden) — przypisanie: wpisz wartość do zmiennej
- == (dwa) — luźna równość: porównuje wartości, ale konwertuje typy
- === (trzy) — ścisła równość: porównuje zarówno wartość jak i typ
Także dwie 'nierówności':
- != (jeden) — luźna 'nierówność', konwertuje typy
- !== (dwa) — ścisła 'nierówność', bezpieczna
Zasada: zawsze używaj === i !==. Nigdy == i != — dają nieoczekiwane wyniki.
Wszystkie operatory porównania
Wszystkie zwracają true lub false:
| Operator | Czytaj jako | Przykład | Wynik |
|---|---|---|---|
| === | ściśle równa się | 5 === 5 | true |
| !== | ściśle różne | 5 !== 3 | true |
| > | większe niż | 10 > 3 | true |
| < | mniejsze niż | 2 < 1 | false |
| >= | większe lub równe | 5 >= 5 | true |
| <= | mniejsze lub równe | 4 <= 3 | false |
Dlaczego === a nie ==? Zobacz: "5" == 5 daje true — JS uznał, że string i liczba to to samo. "5" === 5 daje false — poprawnie, to różne typy.
=== sprawdza zarówno wartość jak i typ — bez niespodzianek.
Operatory logiczne
Pozwalają łączyć wiele warunków:
| Operator | Znaczenie | Przykład | Wynik |
|---|---|---|---|
&& | AND — oba warunki | wiek >= 18 && wiek < 65 | true |
|| | OR — przynajmniej jeden | wiek < 18 || wiek > 65 | false |
! | NOT — odwraca | !true | false |
Zasada &&: wynik jest true tylko jeśli OBA warunki są true.
Zasada ||: wynik jest true jeśli przynajmniej JEDEN warunek jest true.
Operatory logiczne to serce każdego warunku w kodzie.
Pamiętaj o kolejności: najpierw ! (NOT), potem && (AND), potem || (OR). Jak w matematyce: najpierw mnożenie, potem dodawanie. Nawiasy zawsze pomagają czytelności kodu.