Wahrheitsaussagen, Vergleichs-Operatoren, true oder false?

Wahrheitsaussagen bzw. Vergleiche werden benötigt, damit ein Programm in verschiedenen Zweigen weiter geführt werden, z.B. für Herr/Frau. Um Vergleiche in Programmen formulieren zu können, ist es notwendig, sogenannte Vergleichs-Operatoren einzusetzen. Vergleichsoperatoren stehen im Quelltext z.B. zwischen zwei Zahlen, um diese miteinander zu vergleichen. Das Ergebnis eines Vergleichs von zwei Werten ist immer true oder false. Es gibt keine anderen möglichen Ergebnisse. Das Ergebnis eines Vergleichs kann man bei Bedarf in einer Variable speichern. Man sagt dann, solch eine Variable hat den Typ Bool bzw. Boolean, d.h. es werden nur die Werte true oder false darin gespeichert.

Zahlen miteinander vergleichen

In Javascript sehen Vergleiche von Zahlen wie folgt aus. In den folgenden Beispielen steht der Vergleichsoperator (==, !=, <, >) jeweils zwischen den zu vergleichenden Variableninhalten von zahl1 und zahl2.
var zahl1 = 13;
var zahl2 = 26;
var vergleichsergebnis;   // Typ Bool, d.h. entweder true oder false
 
// Gleichheit prüfen
vergleichsergebnis = ( zahl1 == zahl2 );
alert( "Der Vergleich a == b ergibt: " + vergleichsergebnis );
 
// Ungleichheit prüfen
vergleichsergebnis = ( zahl1 != zahl2 );
alert( "Der Vergleich a == b ergibt: " + vergleichsergebnis );
 
// Prüfen ob zahl1 kleiner als zahl2 ist
vergleichsergebnis = ( zahl1 < zahl2 );
alert( "Der Vergleich a == b ergibt: " + vergleichsergebnis );
 
// Prüfen ob zahl1 kleiner als oder gleich zahl2 ist
vergleichsergebnis = ( zahl1 <= zahl2 );
alert( "Der Vergleich a == b ergibt: " + vergleichsergebnis );
 
// Prüfen ob zahl1 größer als zahl2 ist
vergleichsergebnis = ( zahl1 > zahl2 );
alert( "Der Vergleich a == b ergibt: " + vergleichsergebnis );
 
// Prüfen ob zahl1 größer als oder gleich zahl2 ist
vergleichsergebnis = ( zahl1 >= zahl2 );
alert( "Der Vergleich a == b ergibt: " + vergleichsergebnis );

Zeichenketten miteinander vergleichen

Man kann in Javascript auf solch eine einfache Art auch Texte miteinander vergleichen.
var user = "Paul";
var eingabe = prompt("Bitte einen Namen eingaben!")
 
if( user == eingabe )
{
   // nur wenn die Eingabe "Paul" lautet
   // wird ggf. hier stehender Quelltext ausgeführt!
 
   alert("Hey Paul altes Haus!");
}

Zahlen oder Zeichenketten?

Passen Sie auf, was Sie miteinander vergleichen!
Wenn Sie mit Zahlen arbeiten, dann sollten Sie diese vorher mit parseInt bzw. parseFloat aus den Eingaben erzeugt haben!
   var eingabe1;
   var eingabe2;
   var zahl1;
   var zahl2;
 
   eingabe1 = prompt("Zahl1 eingeben bitte!");
   eingabe2 = prompt("Zahl2 eingeben bitte!");
 
   // Hier werden die Eingaben jetzt als Texte verglichen!
   // D.h. das Ergebnis von "9" >= "89" ist true, weil
   // '9' nach '8' in der ANSI-Zeichentabelle steht!
 
   document.write("Text vergleichen: eingabe1="
                 + eingabe1 + " eingabe2="
                 + eingabe2 + " eingabe1>=eingabe2 ist "
                 + (eingabe1>=eingabe2) );
 
   // Hier werden jetzt wirklich Zahlen miteinander verglichen!
   zahl1 = parseInt(eingabe1);
   zahl2 = parseInt(eingabe2);
   document.write("<p>Zahlen vergleichen: zahl1="
                 + zahl1
                 + " zahl2="
                 + zahl2
                 + " zahl1 >= zahl2 ist "
                 + (zahl1 >= zahl2) );
 

Prüfungen von Variablenwerten, siehe ...

Die Nutzung von Funktionen wie ...
  • isFinite() - auf numerischen Wertebereich prüfen
  • isNaN() - auf numerischen Wert prüfen und
  • Number() - auf numerischen Wert prüfen
... hat eine Fallunterscheidung zur Folge (wahr oder falsch)
(siehe: http://de.selfhtml.org/javascript/objekte/unabhaengig.htm).
Dieses führt in der Programmierung zu einer Verzweigung.

to do

Wurde die richtige Rechenoperation eingegeben?

Wie wird das abgeprüft?
var rechenoperation = prompt( "Rechenoperation eingeben" );
if( rechenoperation == "+" )
{
  alert("Addieren");
}
else
{
  alert( "Ich kann aber leider nur Addieren. :-(" );
}
Mehrere Recheneoperation abprüfen funktioniert dann wie folgt:
var rechenoperation = prompt( "Rechenoperation eingeben" );
if( rechenoperation == "+"  || rechenoperation == "-")
{
  alert("Addieren oder Subtrahieren");
}
else
{
  alert("Ich kann aber leider nur Addieren oder Subtrahieren. :-(")
}
In einer Schleife kann man solche Abfragen auch verwenden, z.B. wie folgt:
var rechenoperation;
do
{
  rechenoperation = prompt( "Rechenoperation eingeben" );
} while( rechenoperation != "+" && rechenoperation != "-" );
 
alert("Subtraktion oder Addition gewählt. Juchhu.");

Weitere Informationen zu Vergleichs-Operatoren (Comparison Operators)

  1. http://de.wikipedia.org/wiki/Vergleichsoperator
  2. http://www.w3schools.com/js/js_comparisons.asp
  3. http://www.html-world.de/program/js_4.php
  4. http://wiki.selfhtml.org/wiki/Referenz:JavaScript/Operatoren/Logische_Operatoren
  5. http://de.selfhtml.org/javascript/sprache/operatoren.htm
  6. http://www.teialehrbuch.de/Kostenlose-Kurse/JavaScript/12707-Boolesche-Ausdruecke.html
  7. http://selfmade.lemkewebdesign.de/js-vergleichsoperatoren.php
  8. http://aktuell.de.selfhtml.org/artikel/javascript/objektabfragen/