2009-07-07 10 views
26

Duplicar posibles:
Javascript === vs == : Does it matter which “equal” operator I use?¿Cuándo debería usar === vs ==,! == vs! =, Etc. en javascript?

¿Cuáles son las diferencias entre === == y, == == y ... cuándo se debe utilizar uno y cuándo se debe utilizar el ¿otro?

Matt

+4

Esto es un engaño de aproximadamente 1000 preguntas –

+1

¿Puedes publicar un enlace a esas otras preguntas? Siempre me aseguro de mirar primero, obviamente los títulos no eran lo suficientemente claros como para encontrarlos fácilmente. Tal vez tener esta pregunta también ayudará a señalar a las personas en la dirección correcta en caso de que no hayan buscado exactamente. – Matt

+1

Mis pensamientos exactamente. Aquí hay uno: http://stackoverflow.com/questions/359494/javascript-vs – GManNickG

Respuesta

32

=== es el operador Identity, y se utiliza para probar que el valor y el tipo son iguales.

así ..

"3" == 3 // true 
"3" === 3 // false 
1 == true // true 
1 === true // false 
"1" == true // true 
"1" === true // false 

así que cuando usted se preocupa de que el valor y el tipo son iguales o no iguales operadores utilizar la identidad o ===! ==

+0

bonito y definitivo – annakata

+0

"1" == verdadero ... ¿qué? Pensé que conocía estas reglas gracias por resaltar –

+0

@ KissKoppány si está confundido, es porque 1 y 0 son operadores booleanos. == escribe conversión, por lo que '1' == 1 == verdadero, '0' == 0 == falso. === NO hace la conversión de tipo. En general, es mejor ir con === a menos que esperes que tus vars digan frecuentemente, lo que es extraño (al menos para mí). – Prefix

8

Los "normales" == operadores realizan en javascript tipo de coacción, y hacen todo lo posible para hacer cosas como tratar a una cadena como número o un objeto como una cadena cuando sea necesario. Los operadores más largos === no escriben coerción, sino más bien una comparación estricta dentro del tipo.

2

=== y !== son los mismos que == y !=, pero también verifica los tipos de variables.

Cuestiones relacionadas