Spec-Zone.ru › JavaScript

Меньше или равно (<=)

Базовый уровень Широко доступно

Эта возможность хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 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

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-relational-operators

Совместимость с браузерами

Настольные Мобильные Серверные
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API