Less than or equal (<=)
En esta página
The less than or equal (<=) operator returns true if the left operand is less than or equal to the right operand, and false otherwise.
{{InteractiveExample("JavaScript Demo: Less than or equal (<=) operator")}}
```js interactive-example 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-nolint
x <= y
Description#
The operands are compared using the same algorithm as the Less than operator, with the operands swapped and the result negated. x <= y is generally equivalent to !(y < x), except for two cases where x <= y and x > y are both false:
- If one of the operands gets converted to a BigInt, while the other gets converted to a string that cannot be converted to a BigInt value (it throws a syntax error when passed to
BigInt()). - If one of the operands gets converted to
NaN. (For example, strings that cannot be converted to numbers, orundefined.)
In addition, x <= y coerces x to a primitive before y, while y < x coerces y to a primitive before x. Because coercion may have side effects, the order of the operands may matter.
x <= y is generally equivalent to x < y || x == y, except for a few cases:
- When one of
xoryisnull, and the other is something that's notnulland becomes 0 when coerced to numeric (including0,0n,false,"","0",new Date(0), etc.):x <= yistrue, whilex < y || x == yisfalse. - When one of
xoryisundefined, and the other is one ofnullorundefined:x <= yisfalse, whilex == yistrue. - When
xandyare the same object that becomesNaNafter the first step of Less than (such asnew Date(NaN)):x <= yisfalse, whilex == yistrue. - When
xandyare different objects that become the same value after the first step of Less than:x <= yistrue, whilex < y || x == yisfalse.
Examples#
String to string comparison#
"a" <= "b"; // true
"a" <= "a"; // true
"a" <= "3"; // false
String to number comparison#
"5" <= 3; // false
"3" <= 3; // true
"3" <= 5; // true
"hello" <= 5; // false
5 <= "hello"; // false
Number to Number comparison#
5 <= 3; // false
3 <= 3; // true
3 <= 5; // true
Number to BigInt comparison#
5n <= 3; // false
3 <= 3n; // true
3 <= 5n; // true
Comparing 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
Specifications#
{{Specifications}}
Browser compatibility#
{{Compat}}