Hallo,
c=confirm('Formular absenden?'); if (c==false) return false;
Dasif (c==false)
will in Wirklichkeit nurif (!c)
heißen.
Sagt wer?
sage ich.
Denn die if-Anweisung wertet sowieso ihr Argument auf "wahr" oder "nicht wahr" aus. Das heißt, alles was als Boolscher Ausdruck interpretiert nicht false ergibt, gilt automatisch als wahr und erfüllt die Bedingung.
Einen Ausdruck (z.B. einen Variablenwert) nochmal explizit auf Gleichheit mit true zu prüfen, ist daher sinnlos; ein expliziter Vergleich mit false entspricht einer boolschen Negierung.
Du schreibst doch auch nicht
if ((c==1)==true)
Oder doch? Denn das müsstest du, wenn du deine Argumentation konsequent umsetzt.
ICh finde es sauberer, explizit zu nennen was geprüft werden soll.
Ich auch. In diesem Fall ein Wahrheitswert, der bereits in einer Variablen vorliegt.
Darüber hinaus vertrete ich die Ansicht, dass ein Ausdruck umso leichter zu verstehen und nachzuvollziehen ist, je weniger Unnötiges er enthält. Damit meine ich ausdrücklich _nicht_ Leerzeilen oder Zeilenumbrüche, die nur zur Strukturierung des Quellcodes dienen - die finde ich unbedingt notwendig.
So long,
Martin
Wenn zwei dasselbe tun, sind sie vielleicht bald zu dritt.