ReferenceError オブジェクトは存在しない変数が参照された場合のエラーを表します。
コンストラクター
ReferenceError()- 新しい
ReferenceErrorオブジェクトを生成します。
インスタンスプロパティ
ReferenceError.prototype.message- エラーメッセージです。 ECMA-262 において
ReferenceErrorは自身のmessageプロパティを提供するべきとされていますが、 SpiderMonkey ではError.prototype.messageを継承しています。 ReferenceError.prototype.name- エラー名です。
Errorから継承しています。 ReferenceError.prototype.fileName- このエラーが発生したファイルのパスです。
Errorから継承しています。 ReferenceError.prototype.lineNumber- このエラーが発生したファイル内の行番号です。
Errorから継承しています。 ReferenceError.prototype.columnNumber- このエラーが発生した行内の桁番号です。
Errorから継承しています。 ReferenceError.prototype.stack- スタックトレースです。
Errorから継承しています。
例
ReferenceError のキャッチ
try {
let 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 (ECMA-262) ReferenceError の定義 |
ブラウザーの互換性
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ReferenceError | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
ReferenceError() constructor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
凡例
- 完全対応
- 完全対応