Struppi: Was bedeutet dieser Code?

Beitrag lesen

if (!variable)
im Gegenteil, es wird geprüft, ob sie NICHT existiert! :-)´

Bißchen Humbug. Das Vorhandensein einer Variable überprüft man mit einem Test gegen null. Das gleiche gilt für Methoden, Properties und Objekte. Per Definition (und so tun's viele UAs) wird bei if(variable) überprüft, ob variable==true. Also prüft !variable, ob variable==false. Die Tatsache, daß eine UAs bei Nichtvorhandensein von variable fröhlich weitermachen, ist lediglich - nennen wir es Toleranz. Genauso wie einige Spezialitäten beim Type Casting. Wer sauber auf allen UAs sein will, sollte nicht in den Code-Schlunz verfallen :)

Ahhhhh, nein auch das nicht.
Eine nicht definierte Variabel hat KEINEN wert - auch nicht null.

eine nicht definierte Variabel prüft man mit dem typeof operator.
und if(!x) prüft auch auf Strings Zahlen oder Objekte.

Struppi.