JavaScript type casting

Betrachten leere JavaScript-array:

var a = [];
alert(a == false); //shows true
alert(!a); //shows false!

Wie ist das zu erklären?
Was sind die Regeln?

möglich, Duplikat der Warum tun alert(!!"0") und Alarm(false == "0") sowohl die Ausgabe true in JavaScript
Danke für den Hinweis. Aber nicht genau, ich bitte um generische Regeln.
Wenn es um die lose == Betreiber, die Regeln sind nicht so generisch. Lesen Sie über die Abstrakte Gleichheit Vergleich Algorithmus verwiesen wird, die von der Antwort.
Oder, wenn Sie möchten, die Dinge einfach zu halten, Sie nur vermeiden, geben Sie Zwang zusammen. Möglicherweise gibt es einige gute Anwendungsfälle für die Nötigung (==), sondern als eine Allgemeine Regel, die Sie können, vermeiden Sie es einfach (===). Und dann, auf die Sie bauen können, dass die Regel, und Ausnahmen hinzufügen, wo Sie wollen, zu zwingen.
siehe auch: stackoverflow.com/questions/24318654

InformationsquelleAutor Evgenyt | 2011-01-07

Schreibe einen Kommentar