このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

小なりイコール演算子 (<=)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

小なりイコール演算子 (<=) は、左オペランドが右オペランド以下の場合は true を返し、それ以外の場合は false を返します。

試してみましょう

console.log(5 <= 3);
// 予想される結果: false

console.log(3 <= 3);
// 予想される結果: true

// Compare bigint to number
console.log(3n <= 5);
// 予想される結果: true

console.log("aa" <= "ab");
// 予想される結果: true

構文

js
x <= y;

解説

オペランドは、小なり演算子と同じアルゴリズムを使用して、オペランドを入れ替えて比較され、結果が反転されます。 x <= y は通常 !(y < x) と同等ですが、 x <= yx > y の両方が false となる 2 つの例外があります。

  • 一方のオペランドが長整数に変換される一方、もう一方が長整数値に変換できない(BigInt() に渡すと構文エラーを発生する)文字列に変換される場合。
  • オペランドの一方が NaN に変換される場合。(例えば、数値に変換できない文字列や undefined など。)

さらに、x <= yxy より前にプリミティブ型に型変換し、y < xyx より前にプリミティブ型に型変換します。型変換には副作用を 持つ可能性が あるため、オペランドの順序が重要になる場合があります。

x <= y は、一般的に x > y || x == y と同等ですが、次のいくつかの例外があります。

  • x または y のいずれかが null で、もう一方が null ではなく、数値型への変換によって 0 になる値(00nfalse"""0"new Date(0) など)の場合、 x <= ytrue と評価され、 x < y || x == yfalse と評価されます。
  • x または y の一方が undefined で、もう一方が null または undefined である場合、 x <= yfalse となる一方、x == ytrue となります。
  • xy が同じオブジェクトであり、小なり演算の最初の段階の後で NaN になる場合(new Date(NaN) など)、 x <= yfalse となる一方、 x == ytrue となります。
  • xy が異なるオブジェクトであり、小なり演算の最初の段階の後、同じ値になる場合、 x <= ytrue となる一方、 x < y || x == yfalse となります。

文字列と文字列の比較

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

文字列と数値の比較

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

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

数値と数値の比較

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

数値と長整数の比較

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

論理値、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

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-relational-operators

ブラウザーの互換性

関連情報