! Operator in JavaScript
Ich bin jetzt verwirrt! Operator in JavaScript. Mein Verständnis war! Der Operator arbeitet nur mit Booleschen Werten. Aber ein Kommentar zu einem meinerAntworten sagt, es kann auf alles angewendet werden und gibt einen Booleschen Wert zurück, der zufällig wahr ist, nachdem ich einige Tests durchgeführt habe.
alert(!undefined); //true
alert(!function(){}); //false
alert(!{}); //false
alert(!null); //true
alert(!()); //crash
alert(!"false"); //false
alert(!false); //true
Kann mir jemand helfen, das Verhalten von zu verallgemeinern! Operator.
BEARBEITEN
Noch verwirrenderes Zeug:
alert( new String() == ""); //true
alert(!""); //true
alert(! new String()); //false
Wie? Für den Fall, dass Sie nicht mehr weiterkommen möchten