operadores entre diferencia asignacion javascript comparison-operators equality-operator identity-operator

asignacion - Diferencia entre== y=== en JavaScript



javascript== vs=== (2)

Posible duplicado:
Javascript === vs ==: ¿importa qué operador “igual” uso?

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


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

Los 3 signos iguales significan "igualdad sin coacción tipo". 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


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

JavaScript tiene una comparación de igualdad estricta y de conversión de tipos. Para strict igualdad strict los objetos que se comparan deben tener el 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). NaN no es igual a nada, incluyendo 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 al mismo Object .
  • Null tipos Null e Undefined son == (pero no === ). [Es decir ( Null==Undefined ) es true pero ( Null===Undefined ) es false ]

Operadores de comparación - MDC