Mario Steinko: === vs. ==

Hi!

Was soll man verwenden?
In Selfhtml steht das == = von älteren Browsern nicht unterstützt wird, Validierungen wie z.B. JSLint.com empfehlen es mit ===. Douglas Crockford z.B. meint das man JSLint ohne warniungen shaffen sollte....

Was meint ihr?

lg
Mario

PS: die 3 == sind mit Abstand geschrieben da ich es sonst nicht absenden kann, dämliche Forumsregel :-/

  1. In Selfhtml steht das == = von älteren Browsern nicht unterstützt wird, Validierungen wie z.B. JSLint.com empfehlen es mit ===. Douglas Crockford z.B. meint das man JSLint ohne warniungen shaffen sollte....

    Als Perl Programmierer liebe ich die Firefox Option javascript.options.strict, zumal das jslint nicht ganz fehlerfrei arbeitet (hier ein paar Diskussionen zum Thema vom letzten Jahr)

    Aber es gibt kaum Skript die wirklich strict sind, auch jquery welches hier im Forum eingebunden ist wirft einen Haufen Warnungen.

    Struppi.

  2. In Selfhtml steht das == = von älteren Browsern nicht unterstützt wird

    Alle relevanten Browser sind ECMAScript-konform und können ===.

    Validierungen wie z.B. JSLint.com empfehlen es mit ===. Douglas Crockford z.B. meint das man JSLint ohne warniungen shaffen sollte....

    Ich halte es nicht per se für schlechte Programmerung, == zu verwenden. Natürlich gibt es Uneindeutigkeiten, weil JavaScript dynamisch getypt ist. Wenn man sich dessen nicht bewusst ist, produziert man mit == früher oder später fehlerhafte Scripte. Insbesondere wenn man wiederverwendbare Scripte schreibt, sollte man was Eingabeparameter angeht m.M.n. sehr strikt sein, also die Typen prüfen, ansonsten keine Exception werfen. Wenn die Typen dann validiert sind, sollte die restliche Verarbeitung deterministisch und eindeutig verlaufen. Wenn ich weiß, dass eine Variable ein String ist, muss ich ja nicht === beim Vergleich mit einem festen String machen.

    Mathias