Qual é a diferença entre ==`` e
====em JavaScript? Eu também já vi
!=e
!===` operadores. Existem mais operadores deste tipo?
Dê uma olhada aqui: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
Os 3 sinais de igualdade significam " igualdade sem tipo coerção". Usando os três sinais de igual, os valores também devem ser iguais no tipo.
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false
===`` e
!==` são operadores de comparação rigorosos:
O JavaScript tem tanto o comparação de igualdade de conversão de tipo. Para a igualdade "estrita", os objetos são comparado deve ter o mesmo tipo e:
- Duas cordas são estritamente iguais quando têm a mesma sequência de caracteres, mesmo comprimento, e mesmo caracteres em posições correspondentes.
- Dois números são estritamente iguais quando são numericamente iguais (têm o mesmo valor numérico). O "NaN" não é igual a qualquer coisa, incluindo 'NaN'. os zeros positivos e negativos são iguais a um para o outro.
- Dois operandos booleanos são estritamente iguais se ambos forem verdadeiros ou ambos são falsos.
- Dois objectos são estritamente iguais se se referirem ao mesmo 'Objecto'.
Nulo
eUndefined
são==
(mas não===``). Ou seja, (
Nulo===Final) é
verdadeiromas (
Nulo===Final) é
falso`].