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

Duplicar Possível:
Javascript === vs ==: Importa qual operador “igual” eu uso?

Qual é a diferença entre == e === em JavaScript? Eu também vi operadores != E !== . Existem mais operadores desse tipo?

    === e !== são operadores de comparação estritos:

    O JavaScript tem uma comparação de igualdade estrita e de conversão de tipos. Para igualdade strict os objects que estão sendo comparados devem ter o mesmo tipo e:

    • Duas strings são estritamente iguais quando possuem a mesma sequência de caracteres, o mesmo comprimento e os mesmos caracteres nas posições correspondentes.
    • Dois números são estritamente iguais quando são numericamente iguais (possuem o mesmo valor numérico). NaN não é igual a nada, incluindo NaN . Zeros positivos e negativos são iguais entre si.
    • Dois operandos booleanos são estritamente iguais se ambos forem verdadeiros ou se ambos forem falsos.
    • Dois objects são estritamente iguais se se referirem ao mesmo Object .
    • Tipos Null e Undefined são == (mas não === ). [Ie ( Null==Undefined ) é true mas ( Null===Undefined ) é false ]

    Operadores de Comparação – MDC

    Dê uma olhada aqui: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

    Os 3 sinais iguais significam “igualdade sem coerção de tipo”. Usando os triplos iguais, os valores devem ser iguais em tipo também.

     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