Diferencia entre == y === en JavaScript [duplicado]

Resuelto Shiva asked hace 15 años • 2 respuestas

¿ Cuál es la diferencia entre ==y ===en JavaScript? También he visto !=operadores !==. ¿Hay más operadores de este tipo?

Shiva avatar Feb 07 '09 18:02 Shiva
Aceptado

Eche un vistazo aquí: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

Los 3 signos de igual significan "igualdad sin tipo de coerción". Usando el triple igual, los valores también deben ser iguales en 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
sdfx avatar Feb 07 '2009 11:02 sdfx

===y !==son operadores de comparación estrictos:

JavaScript tiene una comparación de igualdad estricta y de conversión de tipos. Para strictigualdad los objetos que se comparan deben ser del mismo tipo y:

  • Dos cadenas son estrictamente iguales cuando tienen la misma secuencia de caracteres, la misma longitud y los mismos caracteres en las posiciones correspondientes.
  • Dos números son estrictamente iguales cuando son numéricamente iguales (tienen el mismo valor numérico). NaNno es igual a nada, incluido NaN. Los ceros positivos y negativos son iguales entre sí.
  • Dos operandos booleanos son estrictamente iguales si ambos son verdaderos o ambos son falsos.
  • Dos objetos son estrictamente iguales si se refieren a lo mismo Object.
  • Nully Undefinedlos tipos son ==(pero no ===). [Es decir ( Null==Undefined) es truepero ( Null===Undefined) es false]

Operadores de comparación - MDC

Jack Sleight avatar Feb 07 '2009 11:02 Jack Sleight