Diferença entre == e ===== em JavaScript

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
Comentários (19)
Solução

===`` 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 e Undefined são == (mas não ===``). Ou seja, (Nulo===Final) éverdadeiromas (Nulo===Final) éfalso`].

Operadores de Comparação - MDC

Comentários (5)