JavaScript предоставя както стриктно(===, !==), така и преобразуване на тип(==, !=) сравнение на равенството. Строгите оператори вземат под внимание вида на променливата, докато нестрогите оператори правят корекция/конверсия на типа
въз основа на стойностите на променливите. Строгите оператори следват следните
условия за различните типове,

аз Два низа са строго равни, когато имат една и съща последователност от знаци, еднаква дължина
и едни и същи знаци в съответните позиции.
ii. Две числа са строго равни, когато са числено равни. т.е. има една и съща
числова стойност. В това има два специални случая,
a. NaN не е равно на нищо, включително NaN.
b. Положителните и отрицателните нули са равни една на друга.
iii. Два булеви операнда са строго равни, ако и двата са истина или и двата са невярно.
iv. Два обекта са строго равни, ако се отнасят за един и същ обект.
v. Типовете Null и Undefined не са равни с ===, но са равни с ==. т.е. null===недефинирано
--› невярно, но null==недефинирано --› вярно
Някои от примерите, които обхващат горните случаи,
0 == невярно // вярно< br /> 0 === false // false
1 == 1 // true
1 === 1 // false
null == undefined // true
null === недефинирано // невярно

'0' == false // true
'0' === false // false
[]==[] или []===[] //false, препраща към различни обекти в паметта
{}=={} или {}==={} //false, препраща към различни обекти в паметта