Junior
Mis vahe on == ja === JavaScriptis?
sobes.tech AI
Vastus AI-lt
Operatorul == (egalitate laxă) efectuează conversia tipurilor operandilor înainte de comparație.
Operatorul === (egalitate strictă) nu efectuează conversia tipurilor. Compară atât valorile cât și tipurile operandilor.
// Exemple ==
console.log(5 == '5'); // adevărat ('5' șirul este convertit în numărul 5)
console.log(true == 1); // adevărat (numărul 1 este convertit în true)
console.log(null == undefined); // adevărat (regulă specială)
// Exemple ===
console.log(5 === '5'); // fals (tipul number nu este egal cu tipul string)
console.log(true === 1); // fals (tipul boolean nu este egal cu tipul number)
console.log(null === undefined); // fals (tipul null nu este egal cu tipul undefined)
Utilizarea lui === este preferabilă în majoritatea cazurilor, deoarece este mai previzibilă și evită comportamentele neclare legate de conversia tipurilor.