Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 式と演算子
  5. 小なりイコール演算子 (<=)

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

View in EnglishAlways 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);// 予想される結果: falseconsole.log(3 <= 3);// 予想される結果: true// Compare bigint to numberconsole.log(3n <= 5);// 予想される結果: trueconsole.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; // false5 <= "hello"; // false

数値と数値の比較

js
5 <= 3; // false3 <= 3; // true3 <= 5; // true

数値と長整数の比較

js
5n <= 3; // false3 <= 3n; // true3 <= 5n; // true

論理値、null、undefined、NaN の比較

js
true <= false; // falsetrue <= true; // truefalse <= true; // truetrue <= 0; // falsetrue <= 1; // truenull <= 0; // true1 <= null; // falseundefined <= 3; // false3 <= undefined; // false3 <= NaN; // falseNaN <= 3; // false

仕様書

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

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp