Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Weniger als oder gleich (<=)

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Der Weniger als oder gleich (<=) Operator gibt true zurück, wenn der linke Operand kleiner oder gleich dem rechten Operand ist, und false andernfalls.

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 unter Verwendung desselben Algorithmus wie der Weniger als Operator verglichen, wobei die Operanden vertauscht und das Ergebnis negiert wird. x <= y ist im Allgemeinen gleichbedeutend mit !(y < x), außer in zwei Fällen, in denen x <= y und x > y beide false sind:

  • Wenn einer der Operanden zu einem BigInt konvertiert wird, während der andere zu einem String konvertiert wird, der nicht in einen BigInt-Wert umgewandelt werden kann (es tritt ein Syntaxfehler auf, wenn er an BigInt() übergeben wird).
  • Wenn einer der Operanden in NaN umgewandelt wird. (Zum Beispiel Strings, die nicht in Zahlen umgewandelt werden können, oder undefined.)

Außerdem zwingt x <= y x, vor y zu einem primitiven Wert zu werden, während y < x y zwingt, vor x zu einem primitiven Wert zu werden. Da eine Typumwandlung Nebenwirkungen haben kann, kann die Reihenfolge der Operanden wichtig sein.

x <= y ist im Allgemeinen gleichbedeutend mit x < y || x == y, bis auf ein paar Ausnahmen:

  • Wenn eines der x oder y null ist, und das andere etwas, das nicht null ist und zu 0 wird, wenn es zu einem numerischen Wert umgewandelt wird (einschließlich 0, 0n, false, "", "0", new Date(0), usw.): x <= y ist true, während x < y || x == y false ist.
  • Wenn eines der x oder y undefined, ist, und das andere eines von 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 Weniger als zu NaN wird (wie 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 Weniger als den gleichen Wert erhalten: x <= y ist true, während x < y || x == y false ist.

Beispiele

Vergleich von String zu String

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

Vergleich von String zu Zahl

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

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

Vergleich von Zahl zu Zahl

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

Vergleich von Zahl zu BigInt

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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-relational-operators

Browser-Kompatibilität

Siehe auch