Don P: JS Typprobleme

Beitrag lesen

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