Junior
Каква е разликата между == и === в JavaScript?
sobes.tech AI
Отговор от AI
Операторът == (меки равенства) извършва преобразуване на типовете на операндите преди сравняването.
Операторът === (строги равенства) не извършва преобразуване на типовете. Той сравнява и стойностите и типовете на операндите.
// Примери ==
console.log(5 == '5'); // вярно (низът '5' се преобразува в число 5)
console.log(true == 1); // вярно (числото 1 се преобразува в true)
console.log(null == undefined); // вярно (специално правило)
// Примери ===
console.log(5 === '5'); // невярно (типът number не е равен на типа string)
console.log(true === 1); // невярно (типът boolean не е равен на типа number)
console.log(null === undefined); // невярно (типът null не е равен на типа undefined)
Използването на === е за предпочитане в повечето случаи, тъй като е по-предсказуемо и избягва неясно поведение, свързано с преобразуването на типове.