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.