TypeError オブジェクトは、値が期待される型でない場合のエラーを表します。
構文
new TypeError([message[, fileName[, lineNumber]]])
引数
message- 省略可能。人間に読めるエラーの説明
fileName- 省略可能。例外を引き起こしたコードが含まれるファイル名
lineNumber- 省略可能。例外を引き起こしたコードの行番号
説明
TypeError は、ある演算子又は関数が期待する型と互換性の無いオペランド又は引数がその関数に渡された場合に投げられます。
プロパティ
TypeError.prototypeTypeErrorオブジェクトにプロパティを追加することができます。
メソッド
グローバルな TypeError オブジェクトは、自分自身のメソッドを持っていませんが、プロトタイプチェーンを通していくつかのメソッドを継承しています。
TypeError インスタンス
プロパティ
TypeError.prototype.constructor- インスタンスのプロトタイプを生成した関数を示します。
TypeError.prototype.message- エラーメッセージ。ECMA-262 は
TypeError自体がmessageプロパティを提供するべきであると規定してるにもかかわらず、SpiderMonkey ではError.prototype.messageを継承します。 TypeError.prototype.name- エラー名。
Errorから継承します。 TypeError.prototype.fileName- エラーが発生したファイルのパス。
Errorから継承します。 TypeError.prototype.lineNumber- エラーが発生したファイル内の行番号。
Errorから継承します。 TypeError.prototype.columnNumber- エラーが発生した行内のカラム番号。
Errorから継承します。 TypeError.prototype.stack- スタックトレース。
Errorから継承します。
メソッド
例
TypeError をキャッチする
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "null has no properties"
console.log(e.name); // "TypeError"
console.log(e.fileName); // "Scratchpad/1"
console.log(e.lineNumber); // 2
console.log(e.columnNumber); // 2
console.log(e.stack); // "@Scratchpad/2:2:3\n"
}
TypeError を生成する
try {
throw new TypeError('Hello', "someFile.js", 10);
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
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"
}
仕様
ブラウザ実装状況
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TypeError | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
凡例
- 完全対応
- 完全対応