Sobes.tech
Junior

Jaka jest różnica między == a === w JavaScript?

sobes.tech AI

Odpowiedź od AI

Operator == (luźne równość) wykonuje konwersję typów operandów przed porównaniem.

Operator === (ścisła równość) nie wykonuje konwersji typów. Porównuje zarówno wartości i typy operandów.

// Przykłady ==
console.log(5 == '5');   // true (łańcuch '5' jest konwertowany na liczbę 5)
console.log(true == 1);    // true (liczba 1 jest konwertowana na true)
console.log(null == undefined); // true (specjalna zasada)

// Przykłady ===
console.log(5 === '5');  // false (typ number nie jest równy typowi string)
console.log(true === 1);   // false (typ boolean nie jest równy typowi number)
console.log(null === undefined); // false (typ null nie jest równy typowi undefined)

Użycie === jest zalecane w większości przypadków, ponieważ jest bardziej przewidywalne i unika nieoczywistych zachowań związanych z konwersją typów.