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

View in English Always switch to English

RangeError

Baseline
広く利用可能
*

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

* この機能の一部は、対応レベルが異なる場合があります。

RangeError オブジェクトは、値が配列内に存在しない、または値が許容範囲にない場合のエラーを表します。

解説

RangeErrorは、関数に対して引数として許容されない範囲の数値を渡そうとした場合に発生します。

これは次のような場合に発生します。

RangeError はシリアライズ可能オブジェクトであるため、structuredClone() で複製したり、ワーカー間で postMessage() を使用してコピーしたりすることができます。

RangeError は Error のサブクラスです。

コンストラクター

RangeError()

新しい RangeError オブジェクトを生成します。

インスタンスプロパティ

親である Error から継承したプロパティもあります。

これらのプロパティは RangeError.prototype で定義されており、すべての RangeError インスタンスで共有されます。

RangeError.prototype.constructor

このインスタンスオブジェクトを作成したコンストラクター関数です。RangeError のインスタンスでは、初期値は RangeError コンストラクターです。

RangeError.prototype.name

エラーの種類の名前を表します。RangeError.prototype.name の場合、初期値は "RangeError" です。

インスタンスメソッド

親である Error から継承したメソッドがあります。

例

数値に対する RangeError の使用

js
function check(n) {
  if (!(n >= -500 && n <= 500)) {
    throw new RangeError("引数は -500 以上 500 以下でなければなりません。");
  }
}

try {
  check(2000);
} catch (error) {
  if (error instanceof RangeError) {
    // エラーを処理する
  }
}

RangeError の使用 (数値以外に対して)

js
function check(value) {
  if (!["apple", "banana", "carrot"].includes(value)) {
    throw new RangeError(
      '引数は "apple", "banana", "carrot" のいずれかでなければなりません。',
    );
  }
}

try {
  check("cabbage");
} catch (error) {
  if (error instanceof RangeError) {
    // エラーを処理する
  }
}

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-native-error-types-used-in-this-standard-rangeerror

ブラウザーの互換性

関連情報