Меньше или равно (<=)
Базовый уровень Широко доступно
Эта возможность хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Оператор меньше или равно (<=) возвращает true, если левый операнд меньше или равен правому операнду, и false в противном случае.
Попробовать
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
Синтаксис
x <= y
Описание
Операнды сравниваются с использованием того же алгоритма, что и для оператора Меньше чем, с заменой операндов и инвертированием результата. x <= y обычно эквивалентно !(y < x), за исключением двух случаев, когда x <= y и x > y оба являются false:
- Если один из операндов преобразуется в BigInt, а другой преобразуется в строку, которая не может быть преобразована в значение BigInt (вызывается синтаксическая ошибка при передаче в
BigInt()). - Если один из операндов преобразуется в
NaN. (Например, строки, которые не могут быть преобразованы в числа, илиundefined.)
Кроме того, x <= y приводит x к примитивному типу перед y, в то время как y < x приводит y к примитивному типу перед x. Поскольку приведение типов может иметь побочные эффекты, порядок операндов может быть важен.
x <= y обычно эквивалентно x < y || x == y, за исключением нескольких случаев:
- Когда один из
xилиyявляетсяnull, а другой — чем-то, что не являетсяnullи становится 0 при приведении к числовому типу (включая0,0n,false,"","0",new Date(0)и т.д.):x <= yэтоtrue, в то время какx < y || x == yэтоfalse. - Когда один из
xилиyявляетсяundefined, а другой — одним изnullилиundefined:x <= yэтоfalse, в то время какx == yэтоtrue. - Когда
xиyявляются одним и тем же объектом, который становитсяNaNпосле первого шага Меньше чем (например,new Date(NaN)):x <= yэтоfalse, в то время какx == yэтоtrue. - Когда
xиyявляются разными объектами, которые становятся одинаковым значением после первого шага Меньше чем:x <= yэтоtrue, в то время какx < y || x == yэтоfalse.
Примеры
Сравнение строки со строкой
"a" <= "b"; // true "a" <= "a"; // true "a" <= "3"; // false
Сравнение строки с числом
"5" <= 3; // false "3" <= 3; // true "3" <= 5; // true "hello" <= 5; // false 5 <= "hello"; // false
Сравнение числа с числом
5 <= 3; // false 3 <= 3; // true 3 <= 5; // true
Сравнение числа с BigInt
5n <= 3; // false 3 <= 3n; // true 3 <= 5n; // true
Сравнение 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
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
less_than_or_equal |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Less_than_or_equal