Kleiner-oder-gleich (`<=`)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der kleiner-oder-gleich (<=) Operator gibt true zurück, wenn der linke Operanden kleiner oder gleich dem rechten Operanden ist, und false in allen anderen Fällen.

Probieren Sie es aus

console.log(5 <= 3);
// Expected output: false

console.log(3 <= 3);
// Expected output: true

// Compare bigint to number
console.log(3n <= 5);
// Expected output: true

console.log("aa" <= "ab");
// Expected output: true

Syntax

js
x <= y

Beschreibung

Die Operanden werden mit demselben Algorithmus wie beim Kleiner als-Operator verglichen, allerdings sind die Operanden vertauscht und das Ergebnis wird negiert. x <= y ist im Allgemeinen äquivalent zu !(y < x), außer in zwei Fällen, in denen sowohl x <= y als auch x > y false sind:

  • Wenn einer der Operanden zu einem BigInt konvertiert wird, während der andere in einen String konvertiert wird, der nicht zu einem BigInt-Wert konvertiert werden kann (dies führt zu einem Syntaxfehler, wenn er an BigInt() übergeben wird).
  • Wenn einer der Operanden zu NaN konvertiert wird (z. B. Strings, die nicht in Zahlen umgewandelt werden können, oder undefined).

Zusätzlich konvertiert x <= y x zuerst in einen primitiven Wert, während y < x y zuerst in einen primitiven Wert konvertiert. Da diese Konvertierung Seiteneffekte haben kann, kann die Reihenfolge der Operanden von Bedeutung sein.

x <= y ist im Allgemeinen äquivalent zu x < y || x == y, mit Ausnahme einiger Fälle:

  • Wenn einer von x oder y null ist, und der andere ein Wert ist, der nicht null ist und beim numerischen Zwang zu 0 wird (einschließlich 0, 0n, false, "", "0", new Date(0) usw.): x <= y ist true, während x < y || x == y false ist.
  • Wenn einer von x oder y undefined ist, und der andere entweder null oder undefined ist: x <= y ist false, während x == y true ist.
  • Wenn x und y dasselbe Objekt sind, das nach dem ersten Schritt von Kleiner als zu NaN wird (z. B. new Date(NaN)): x <= y ist false, während x == y true ist.
  • Wenn x und y verschiedene Objekte sind, die nach dem ersten Schritt von Kleiner als denselben Wert erhalten: x <= y ist true, während x < y || x == y false ist.

Beispiele

String-zu-String-Vergleich

js
"a" <= "b"; // true
"a" <= "a"; // true
"a" <= "3"; // false

String-zu-Zahl-Vergleich

js
"5" <= 3; // false
"3" <= 3; // true
"3" <= 5; // true

"hello" <= 5; // false
5 <= "hello"; // false

Zahl-zu-Zahl-Vergleich

js
5 <= 3; // false
3 <= 3; // true
3 <= 5; // true

Zahl-zu-BigInt-Vergleich

js
5n <= 3; // false
3 <= 3n; // true
3 <= 5n; // true

Vergleich von Boolean, null, undefined, NaN

js
true <= false; // false
true <= true; // true
false <= true; // true

true <= 0; // false
true <= 1; // true

null <= 0; // true
1 <= null; // false

undefined <= 3; // false
3 <= undefined; // false

3 <= NaN; // false
NaN <= 3; // false

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-relational-operators

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Less than or equal (a <= b)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch