Signatur
Beschreibung
Der Größer-als-oder-gleich-Operator (>=) ist ein binärer Vergleichsoperator, der zwei Werte miteinander vergleicht und einen booleschen Wert zurückgibt. Das Ergebnis ist true, wenn der linke Operand größer als oder gleich dem rechten Operand ist – andernfalls false.
Der Vergleich folgt denselben Regeln wie der abstrakte Vergleichsalgorithmus der JavaScript-Spezifikation. Dabei werden Werte gegebenenfalls implizit konvertiert: Handelt es sich bei beiden Operanden nicht um Strings, werden sie in Zahlen umgewandelt. Sind beide Werte Strings, wird ein lexikografischer (zeichenweise, Unicode-basierter) Vergleich durchgeführt. NaN auf einer Seite ergibt immer false.
Typische Einsatzgebiete sind Bereichsprüfungen (z. B. Mindestalter, Schwellenwerte), Schleifenbedingungen sowie das Filtern und Sortieren von Datensätzen. Für typsicheren Vergleich sollte sichergestellt werden, dass beide Operanden denselben Typ haben, da implizite Konvertierungen zu unerwarteten Ergebnissen führen können.
5 >= 5→true5 >= 3→true3 >= 5→false"banana" >= "apple"→true(lexikografisch)NaN >= 1→false
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $leftOperand Pflicht | number | string | bigint | boolean | null | undefined | object | — | Der linke Vergleichswert. Wird bei Bedarf automatisch in einen primitiven Wert konvertiert. |
| $rightOperand Pflicht | number | string | bigint | boolean | null | undefined | object | — | Der rechte Vergleichswert. Wird bei Bedarf automatisch in einen primitiven Wert konvertiert. |
Rückgabewert
true, wenn leftOperand größer oder gleich rightOperand ist; andernfalls false.Beispiele
Einfacher Zahlenvergleich
console.log(10 >= 5); // true
console.log(5 >= 5); // true
console.log(3 >= 5); // false
const alter = 18;
if (alter >= 18) {
console.log("Zugang gewährt.");
} else {
console.log("Zugang verweigert.");
}
Verwendung in einer Schleife
// Countdown von 3 bis 0
for (let i = 3; i >= 0; i--) {
console.log(`Noch ${i} Sekunden...`);
}
Stringvergleich (lexikografisch)
console.log("banana" >= "apple"); // true (b > a)
console.log("apple" >= "apple"); // true (gleich)
console.log("Apple" >= "apple"); // false (Großbuchstaben haben kleineren Unicode-Wert)
Implizite Typkonvertierung und Randfälle
console.log("5" >= 5); // true – String "5" wird zu Number 5 konvertiert
console.log(null >= 0); // true – null wird zu 0
console.log(undefined >= 0); // false – undefined wird zu NaN
console.log(NaN >= NaN); // false – NaN-Vergleiche sind immer false
// Tipp: explizite Konvertierung vermeidet Überraschungen
const eingabe = "10";
console.log(Number(eingabe) >= 5); // true
// Wichtig · Fallstricke
Implizite Konvertierung: Wenn einer der Operanden kein String ist, versucht JavaScript beide Werte in Zahlen umzuwandeln. Das kann zu überraschenden Ergebnissen führen – z. B. ergibt null >= 0 den Wert true, obwohl null == 0 den Wert false ergibt. Für robusteren Code sollten Typen vorher explizit mit Number(), parseInt() o. ä. konvertiert werden.
BigInt: Ab ES2020 können BigInt-Werte mit >= verglichen werden, auch gemischt mit regulären Zahlen (1n >= 1 → true). Nicht erlaubt ist jedoch der gemischte Vergleich von BigInt mit NaN, Infinity oder undefined.
Objekte: Bei Objekten wird die valueOf()- bzw. [Symbol.toPrimitive]()-Methode aufgerufen, um einen primitiven Vergleichswert zu ermitteln. Ohne diese Methode wird das Objekt als "[object Object]"-String behandelt.