Bool'sche-Werte und binäre Operatoren in JavaScript

24. Juni 2009
Möchte man z.B. eine if-Anweisung nur dann ausführen, wenn alle drei Variablen den Bool'schen Wert true haben, so kann man dies wie folgt erreichen:
 
if( !!var1 == true && !!var2 == true && !!var3 == true ){
...
}
 
oder man kann sich die Sache mittels des binären UND-Operators wie folgt vereinfachen:
 
if(( !!var1 & !!var2 & !!var3 ) == true ){
...
}
 
Das Ganze klappt natürlich auch mit weniger/mehr Variablen, mit dem Test auf false oder mit dem binären ODER-Operator.

Das !! vor einem Variablen-Namen veranlasst JavaScript, aus dem Datentyp der Variablen einen Bool'schen Typ zu erzeugen der entweder wahr oder falsch ist. Das klappt bei jedem Typ, auch bei Objekten oder (leeren) Strings usw.
 
Kommentare, Ideen oder Vorschläge willkommen!
HILFE
Code-Beispiele werden mit den BBCodes [code][/code] dargestellt. Jedes Tag muss eine Zeile für sich allein haben, d.h der Beispiel-Code muss wirklich ZWISCHEN den Tags stehen. Beispiel:
[code] ACHTUNG! HIER UMBRUCH WICHTIG. TAG [code] MUSS ALLEIN STEHEN
#include <stdio.h>

int main( void ){
    return 0;
} ACHTUNG! HIER UMBRUCH WICHTIG. NACHFOLGENDES TAG [/code] MUSS ALLEIN STEHEN
[/code]

Alles was zwischen den beiden Tags [register] und [/register] eingetragen wird, ist nur für registrierte (und eingeloggte) User sichtbar.
Dein Name *
Deine Email
Deine Website
Vorschau