Hallo,
print !'0' ? 'true' : 'false';
=> true
Nein, false
perl -e 'print !!("0"&&"1")'
> > ist false
> >
> > ~~~javascript
javascript:alert(!!("0"&&"1"))
> >
ist true
Faszinierend!
Ja: Ein String, der etwas enthält, was kein Whitespace ist, konvertiert in JavaScript immer zu true.
Innerhalb von Strings wird fast nichts interpretiert, d.h. eine Null ist dort ein Zeichen wie jedes andere (keine Zahl), daher true
.
Aber:
alert( "\r\n"==false ); =>true
alert( !!"\r\n" ); =>false
Letzteres verstehe, wer will...
Gruß, Don P