hi var,
Hallo miteinander!
Ich bin gerade etwas verwirrt ob der Bedeutung der Zahl 0 in JavaScript: Bislang dachte ich immer, dass 0 in jedem Fall 0 ist, nicht aber null! ;-)
Wenn ich jedoch in einer Funktion einen Parameter ( n ) habe und diese Funktion mit dem Wert 0 für diesen Parameter aufrufe, dann ergibt ( !n ) gleich true!
Das sollte eigentlich nicht sein, oder? Ich meine, dafür gibt es ja das reservierte Wort null als speziellen Null-Wert. 0 sollte also 0 sein, aber nicht null!
Irgendwie nicht wirklich logisch, oder? ;-)
Crockford kann viel über Javascript berichten, es gibt auch gute Vorträge, bei yahoo-theater glaube ich. Auch über die Entwicklungsgeschichte. Die Sprache ist - wenn ich das recht zusammenfasse - binnen 2 Wochen mit Fehlern entwickelt worden und bedingt durch den Browser-War (MS vs. Mozilla) war es nicht möglich, einvernehmlich die Grundfehler zu beseitigen. Deshalb spricht Crockford auch von den "good parts".
Wenn Du typengenau vergleichst, hast du überhaupt keine Problem 0 !== null und auch !== false.
Von allem anderen (typenlose Vergleiche) rät Crockford ab. S. mal auch http://javascript.crockford.com/survey.html und Google dazu ...; wenns dich interessiert.
Es ist einiges unlogisch. https://www.youtube.com/watch?v=v2ifWcnQs6M ist einer seiner Talks Vorträge ...;
mfg
tami