Flag
In der Programmierung kommt es vor, dass das Ergebnis von bestimmten Tests für später festgehalten werden muss. Die Variable, in der dieses Ergebnis gespeichert wird, nennt man Flag oder auch allgemein Schalter. Der Begriff Flag wird vor allem verwendet, wenn das Ergebnis nur zwei Zustände haben kann, typischerweise „wahr“ oder „falsch“. Das Flag ist dann „gesetzt“ oder „nicht gesetzt“ (Fahnen auf Halbmast gibt es beim Programmieren nicht). Bei einem Schalter sind auch mehrere Zustände möglich. Die Begriffstrennung ist hier aber nicht strikt.
Zur Darstellung des Zustandes „falsch“ verwendete man früher die Zahl 0. Für „wahr“ waren -1 oder 1 üblich – daher stammt in Sprachen wie C oder JavaScript die Gleichsetzung von 0 und false
, und true
für alle anderen Zahlen.
In Sprachen, die boolesche Datentypen kennen, sollte man diese auch für Flags nutzen. In JavaScript ist das Ergebnis eines Vergleichsoperators immer ein boolescher Wert. Diesen kann man bei Bedarf auch direkt in einer Variablen speichern:
const volljährig = alter >= 18;
An anderer Stelle lässt sich das Flag dann für Tests nutzen:
if (volljährig) {
...
}
Man findet für das Speichern von Testergebnissen leider viel zu oft Meisterwerke der Umständlichkeit. Es gibt Sprachen, in denen man so etwas tun muss, weil ihre Ausdrucksfähigkeit kastriert ist (z.B. COBOL). In den Sprachen der C-Familie (z.B. JavaScript und PHP) ist das aber nicht der Fall. Blamieren Sie sich nicht mit Code folgender Art:
let volljährig;
if (alter >= 18) {
volljährig = true;
}
else {
volljährig = false;
}
Die Werte für boolesche Variablen werden hingegen im Allgemeinen mit „true“ (wahr) bzw. „false“ (falsch) bezeichnet.