Al trabajar con javascript, ¿alguien puede proporcionarme una buena referencia o explicación sobre las pruebas de igualdad/desigualdad y escribir coerción?igualdad en javascript
De lo que he estado leyendo veo dónde hay dos principios de pensamiento sobre el uso de eqeq (==) vs. eqeqeq (===) algunos sienten que no se debe usar eqeq y siempre se usa eqeqeq como es más seguro de usar
He estado jugando con algunas muestras básicas y estoy teniendo problemas para discernir la diferencia o cuándo es mejor utilizar una sobre la otra:
Por ejemplo: he aquí algo de guión básico que estaba escribiendo a cabo. Cuando pruebo usando eqeq o eqeqeq obtengo el mismo resultado. Todavía no he visto un ejemplo en el que obtuviera resultados diferentes (es decir, usar eqeq devuelve verdadero donde eqeqeq devuelve falso).
function write(message){
document.getElementById('message').innerHTML += message +'<br/>';
}
var tim = { name: "tim" };
var tim2 = { name: "tim" };
//objects are equal to themselves (== vs ==== eqeq or eqeqeq)
write("tim eq tim: " + (tim == tim)); //returns true
//objects are only equal to themselves regardless of containing value got that
write("tim eq tim2: " + (tim === tim2)); //returns false
//access the primative type to test true or false
write("tim value eq tim2 value: " + (tim.name === tim2.name)); //returns true
//how does this differ in efficency over the eqeq operator? is one safer to use over the other?
//write("tim value eq tim2 value: " + (tim.name == tim2.name)); //also returns true
//testing primatives
write("apple eqeqeq apple: " + ("apple" === "apple")); //true
write("apple eqeqeq apple: " + ("apple" == "apple")); //true
¿Alguien me puede dar una explicación o referencia que pueda leer que ayude a aclarar esto un poco más?
aplausos,
http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use –