Junior
Jaký je rozdíl mezi == a === v JavaScriptu?
sobes.tech AI
Odpověď od AI
Operátor == (volná rovnost) provádí před porovnáním konverzi typů operandů.
Operátor === (přísná rovnost) neprovádí konverzi typů. Porovnává a hodnoty a typy operandů.
// Příklady ==
console.log(5 == '5'); // true (řetězec '5' je převeden na číslo 5)
console.log(true == 1); // true (číslo 1 je převedeno na true)
console.log(null == undefined); // true (speciální pravidlo)
// Příklady ===
console.log(5 === '5'); // false (typ number není roven typu string)
console.log(true === 1); // false (typ boolean není roven typu number)
console.log(null === undefined); // false (typ null není roven typu undefined)
Použití === je v většině případů doporučeno, protože je předvídatelnější a vyhýbá se nejasnému chování spojenému s konverzí typů.