tami: Crockford on Javascript - Geschichte und Bad/Good Parts

Beitrag lesen

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