Ver Mensaje Individual
  #11 (permalink)  
Antiguo 12/04/2011, 12:26
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: curiosidades de javascript

@siedrix, ese caso es distinto porque, aunque con la misma estructuras, ambos son arrays. el segundo devuelve true porque b es una referencia de a. es lo mismo que sucede con los objetos y funciones.
Código:
console.log(function(){} == function(){});
console.log({} == {});
el caso que estoy mencionando es distinto a esto porque se esta comparando un objeto con un valor primitivo, en este caso un boolean. de hecho, mira lo que sucede en el siguiente ejemplo.
Código:
console.log([3] == 3); // true ;
console.log(["s"] == "s"); // true ;

// sin embargo ;
console.log([undefined] == undefined); // false ;
console.log([null] == null); // false ;
creo que la razon se debe a lo que se explica en este caso, http://wtfjs.com/2011/02/11/all-your...elong-to-Array. aparentemente tiene que ver con la conversion en ToPrimitive.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.