EvalError

eval 関数に関するエラーを表します。

EvalError オブジェクトはグローバルな eval() 関数に関連するエラーを示します。この例外はもう JavaScript から投げられませんが、EvalError オブジェクトは互換性のために残っています。

構文

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

引数

message
人間に読めるエラーの説明
fileName
例外を引き起こしたコードが含まれるファイル名
lineNumber
例外を引き起こしたコードの行番号

プロパティ

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

メソッド

グローバルな EvalError オブジェクトは、自分自身のメソッドを持っていませんが、プロトタイプチェーンを通していくつかのメソッドを継承しています。

EvalError インスタンス

プロパティ

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

ECMA-262 は EvalError 自身が message プロパティを提供するべきであると規定してるにもかかわらず、 SpiderMonkey では Error.prototype.message を継承します。

メソッド

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

EvalError は現在の ECMAScript 仕様では使われておらず、このためランタイムからも投げられません。しかしオブジェクト自体は、以前の仕様との後方互換性のために残っています。

Creating an EvalError

try {
  throw new EvalError('Hello', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof EvalError); // true
  console.log(e.message);              // "Hello"
  console.log(e.name);                 // "EvalError"
  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)
EvalError の定義
標準 この仕様では使われていません。後方互換性のために存在。
ECMAScript 2015 (6th Edition, ECMA-262)
EvalError の定義
標準 この仕様では使われていません。後方互換性のために存在。
ECMAScript Latest Draft (ECMA-262)
EvalError の定義
ドラフト  

ブラウザー実装状況

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

凡例

完全対応  
完全対応

参照