3. Operatory matematyczne, logiczne i porównania

~25 min podstawowy

Operatory pozwalają manipulować danymi: dodawać, porównywać, łączyć warunki.

Operatory matematyczne

let a = 10;
let b = 3;

console.log(a + b);   // 13 (dodawanie)
console.log(a - b);   // 7 (odejmowanie)
console.log(a * b);   // 30 (mnożenie)
console.log(a / b);   // 3.333... (dzielenie)
console.log(a % b);   // 1 (reszta z dzielenia)
console.log(a ** b);  // 1000 (potęgowanie, ES6+)
Ciekawostka: + działa też na stringach: "A" + "B" = "AB" (konkatenacja).

Operatory porównania

console.log(5 > 3);     // true (większe)
console.log(5 >= 5);    // true (większe lub równe)
console.log(5 < 3);     // false (mniejsze)
console.log(5 <= 3);    // false (mniejsze lub równe)
console.log(10 === 10); // true (równe z typem)
console.log(10 !== "10"); // true (nierówne z typem)
console.log(10 == "10");  // true (równe bez typu – unikaj!)
Zawsze używaj: === i !==, bo == konwertuje typy (np. 0 == false = true).

Operatory logiczne

let x = true;
let y = false;

console.log(x && y);  // false (AND – oba true)
console.log(x || y);  // true (OR – co najmniej jedno true)
console.log(!x);      // false (NOT – negacja)
Ciekawostka: Short-circuit: x && funkcja() – funkcja wykona się tylko jeśli x true.
Ostrzeżenie: Falsy wartości: false, 0, "", null, undefined, NaN – traktowane jak false w warunkach.

Ćwiczenie

  1. Oblicz (5 + 3) * 2 % 7 i wyświetl.
  2. Sprawdź czy 10 === "10" i dlaczego nie.
  3. let pada = true; let slonce = false; console.log(pada || slonce);

Poprawka do oryginału: Dodano logiczne operatory, więcej porównań, potęgowanie; rozszerzono przykłady.