07/05/2013, 05:45
|
| | | Fecha de Ingreso: enero-2011 Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses Puntos: 206 | |
Respuesta: Diferencia entre estos operadores Javascript es un lenguage muy débilmente tipado; algunas operaciones hacen un "casting" del tipo de variable, es decir, la convierten de un tipo a otro según el contexto, automáticamente; lo que a veces puede provocar un desastre. La conversión trabaja de izquierda a derecha.
Ejemplo var suma = "1" + 1, el resultado será "11" porque convertirá el 1 en "1" automáticamente ya que el primer operador era un string.
Sin embargo var suma = 1 + "1" será ahora 2, porque ahora lo convirtió a número entero.
El operador de igualdar == hace la conversión antes de comparar, así que 1=="1" es true,
1==true es true (cualquier número distinto de cero lo convierte a true), ""==false es true (la cadena vacía la convierte en FALSE), etc.
Sin embargo, la comparación con el tripe igual, === no hace la conversión, asi que "1" === 1 es FALSE. O dicho de otro modo, el tirpe igual se asegura que el TIPO de dato y su valor sean exactamente iguales. Por ello, se suele recomendar el uso de === en vez de == para la inmensa mayoría de las ocasiones. |