ReferenceError

ReferenceError オブジェクトは存在しない変数が参照された場合のエラーを表します。

構文

new ReferenceError([message[, fileName[, lineNumber]]])

引数

message
オプション。人間に読めるエラーの説明
fileName
オプション。例外を引き起こしたコードを含むファイル名 
lineNumber
オプション。例外を引き起こしたコードの行番号 

説明

ReferenceError は、宣言されていない変数を読み出そうとした場合に投げられます。

プロパティ

ReferenceError.prototype
ReferenceError オブジェクトにプロパティを追加することができます。

ReferenceError インスタンス

プロパティ

constructor
インスタンスのプロパティを生成した関数を示します。
name
エラー名。

メソッド

ReferenceError プロトタイプオブジェクトが自身のメソッドを何も持っていなくても、 ReferenceError インスタンスはプロトタイプチェーンを通していくつかのメソッドを継承しています。

ReferenceError をキャッチする

try {
  var a = undefinedVariable;
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message);                   // "undefinedVariable is not defined"
  console.log(e.name);                      // "ReferenceError"
  console.log(e.fileName);                  // "Scratchpad/1"
  console.log(e.lineNumber);                // 2
  console.log(e.columnNumber);              // 6
  console.log(e.stack);                     // "@Scratchpad/2:2:7\n"
}

ReferenceError を生成する

try {
  throw new ReferenceError('Hello', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message);                   // "Hello"
  console.log(e.name);                      // "ReferenceError"
  console.log(e.fileName);                  // "someFile.js"
  console.log(e.lineNumber);                // 10
  console.log(e.columnNumber);              // 0
  console.log(e.stack);                     // "@Scratchpad/2:2:9\n"
}

仕様

仕様書 策定状況 コメント
ECMAScript 3rd Edition (ECMA-262) 標準 初期定義
ECMAScript 5.1 (ECMA-262)
ReferenceError の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
ReferenceError の定義
標準  
ECMAScript (ECMA-262)
ReferenceError の定義
現行の標準  

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
ReferenceErrorChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5.5Opera 完全対応 5Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 あり
ReferenceError() constructorChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5.5Opera 完全対応 5Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 あり

凡例

完全対応  
完全対応

参照