Sobes.tech
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ů.