operadores - ¿Cuál es exactamente el significado de "===" en javascript?
operadores de comparacion javascript (5)
Extraído de mi blog: keithdonegan.com
El operador de igualdad (==)
El operador de igualdad (==) verifica si dos operandos son iguales y devuelve verdadero si son iguales y falsos si son diferentes.
El operador de identidad (===)
El operador de identidad verifica si dos operandos son "idénticos".
Estas reglas determinan si dos valores son idénticos:
- Deben tener el mismo tipo.
- Si los valores numéricos tienen el mismo valor, son idénticos, a menos que uno o ambos sean NaN.
- Si los valores de cadena tienen el mismo valor, son idénticos, a menos que las cadenas difieran en longitud o contenido.
- Si ambos valores se refieren al mismo objeto, matriz o función, son idénticos.
- Si ambos valores son nulos o indefinidos, son idénticos.
Posible duplicado:
Javascript === vs ==
¿Cuál es la diferencia entre "===" y "=="? ¡Gracias!
''==='' significa igualdad sin coerción de tipo . En otras palabras, si usa el triple igual, los valores también deben ser iguales en el tipo.
p.ej
0==false // true
0===false // false, because they are of a different type
1=="1" // true, auto type coersion
1==="1" // false, because they are of a different type
Fuente: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
El operador === significa "es exactamente igual a", haciendo coincidir tanto el valor como el tipo de datos.
El operador == significa "es igual a", haciendo coincidir solo por valor.
En pocas palabras, "===" prueba la igualdad de valor Y de tipo: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
Prueba la igualdad exacta de ambos, valor y tipo.
given the assignment
x = 7
x===7 is true
x==="7" is false