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
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, oderundefined
).
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
odery
null
ist, und der andere ein Wert ist, der nichtnull
ist und beim numerischen Zwang zu 0 wird (einschließlich0
,0n
,false
,""
,"0"
,new Date(0)
usw.):x <= y
isttrue
, währendx < y || x == y
false
ist. - Wenn einer von
x
odery
undefined
ist, und der andere entwedernull
oderundefined
ist:x <= y
istfalse
, währendx == y
true
ist. - Wenn
x
undy
dasselbe Objekt sind, das nach dem ersten Schritt von Kleiner als zuNaN
wird (z. B.new Date(NaN)
):x <= y
istfalse
, währendx == y
true
ist. - Wenn
x
undy
verschiedene Objekte sind, die nach dem ersten Schritt von Kleiner als denselben Wert erhalten:x <= y
isttrue
, währendx < y || x == y
false
ist.
Beispiele
String-zu-String-Vergleich
"a" <= "b"; // true
"a" <= "a"; // true
"a" <= "3"; // false
String-zu-Zahl-Vergleich
"5" <= 3; // false
"3" <= 3; // true
"3" <= 5; // true
"hello" <= 5; // false
5 <= "hello"; // false
Zahl-zu-Zahl-Vergleich
5 <= 3; // false
3 <= 3; // true
3 <= 5; // true
Zahl-zu-BigInt-Vergleich
5n <= 3; // false
3 <= 3n; // true
3 <= 5n; // true
Vergleich von Boolean, null, undefined, NaN
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 GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Less than or equal ( a <= b ) |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support