WS64: if (bedingung == false)

Beitrag lesen

if(document.Formular.AGBs.checked == false)

Hallo,
zum eigentlichen Thema hab ich nichts zu sagen, mir fällt aber was anderes immer wieder auf.

Wo kommen eigentlich Konstrukte wie
if(bedingung==true) (oder false) her?

Diese Abfrage funktioniert, liefert auch das richtige Ergebnis, aber trotzdem ist sie etwas seltsam...

Bedingung ist schliesslich bereits eine boolsche Variable, sie ist bereits wahr oder falsch, das muss nicht nochmals mit == auf Übereinstimmung mit einer der beiden Konstanten "true" oder "false" verglichen werden.

Man fragt schliesslich auch nicht ab in der Art von
"if((a==5)==true)", naürlich benutzt man nur "if(a==5)"

Wenn die Bedingung aber selbst eine boolsche Variable ist (document.Formular.AGBs.checked) benutzen viele Leute einen erneuten Vergleich, warum?

Die obige Abfrage sollte meiner Meinung eher so lauten:
if(!document.Formular.AGBs.checked)
(wobei ! der Verneinungsoperator ist, aus true wird mittels dem ! ein false, also "true" ist dasselbe wie "!false" und umgekehrt, was ich allerdings tasächlich in dieser Form bei selfhtml nirgendwo nachlesen kann, auf der Seite, wo die Operatoren http://www.teamone.de/selfhtml/tebf.htm#a7 erklärt werden findet sich lediglich in der Operatorenreihenfolge der ! Operator, berichtigt mich bitte falls ich die eigentliche Erklärung nur irgendwo übersehen habe.)

Mag sein das ich hier Bitspalterei betreibe, aber das begegnet mir immer wieder in irgenwelchen Listings (und lange nicht nur in Javascript-Listings!), und mir ist nicht ganz klar warum.

Irgendwelche Ideen? Ich glaube nicht daß das nur Unwissenheit ist, auch "Cracks" benutzen das...

Bye
Wolfgang