Sobes.tech
Junior

Kuo skiriasi == ir === JavaScript?

sobes.tech AI

Atsakymas iš AI

Operatorius == (laisva lygybė) atlieka operandų tipų konvertavimą prieš palyginimą.

Operatorius === (griežta lygybė) neatrodo tipų konvertavimo. Jis lygina ir reikšmes ir operandų tipus.

// Pavyzdžiai ==
console.log(5 == '5');   // true ('5' eilutė konvertuojama į skaičių 5)
console.log(true == 1);    // true (skaičius 1 konvertuojamas į true)
console.log(null == undefined); // true (ypatinga taisyklė)

// Pavyzdžiai ===
console.log(5 === '5');  // false (number tipas nėra lygus string tipui)
console.log(true === 1);   // false (boolean tipas nėra lygus number tipui)
console.log(null === undefined); // false (null tipas nėra lygus undefined tipui)

=== naudojimas dažniausiai yra pageidautinas, nes jis yra labiau prognozuojamas ir išvengia neaiškios elgsenos, susijusios su tipų konvertavimu.