Só umas correções...
Segundo a especificação da linguagem, os operadores relacionais são apenas >
, >=
, <
e <=
(além de instanceof
e in
).
Já o ===
e !==
, segundo a mesma especificação, estão na seção de equality operators (operadores de igualdade).
Vale notar que também existem os operadores ==
e !=
. A diferença básica é que ===
verifica se os operandos possuem o mesmo valor e são do mesmo tipo, enquanto que ==
pode fazer coerção de tipos, seguindo regras bem complicadas. Por isso que 1 == '1'
é true
(a string '1'
é convertida para o número 1
, e como os valores são iguais, o resultado é true
), mas 1 === '1'
é false
(pois os tipos dos operandos são diferentes: um é Number
, outro é String
).