Quando si lavora in javascript qualcuno può fornirmi un buon riferimento o spiegazione sui test per l'uguaglianza/diseguaglianza e la coercizione di tipo?uguaglianza in javascript
Da quello che ho letto vedo dove ci sono due principi di pensiero sull'uso di eqeq (==) rispetto a eqeqeq (===) alcuni ritengono che non si dovrebbe usare eqeq e sempre come usare eqeqeq così com'è più sicuro da usare.
Ho giocato in giro con alcuni campioni di base e sto avendo difficoltà a discernere la differenza o quando meglio usare uno sopra l'altro:
Per esempio: ecco alcune script di base che stavo scrivendo fuori. Quando provo usando eqeq o eqeqeq ottengo lo stesso risultato. Non ho ancora visto un esempio in cui otterrei risultati diversi (ad esempio utilizzando eqeq restituisce true dove eqeqeq restituisce false).
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
Qualcuno può fornire una spiegazione o riferimento posso leggere che aiuta a chiarire questo un po 'di più.
acclamazioni,
http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use –