TypeError オブジェクトは、値が期待される型でない場合のエラーを表します。

構文

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

引数

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

説明

TypeError は、ある演算子又は関数が期待する型と互換性の無いオペランド又は引数がその関数に渡された場合に投げられます。

プロパティ

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

メソッド

グローバルな 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 プロトタイプオブジェクトが自分自身のいかなるメソッドも持っていなくても、TypeError インスタンスはプロトタイプチェーンを通していくつかのメソッドを継承しています。

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"
}

仕様

仕様書 策定状況 コメント
ECMAScript 3rd Edition (ECMA-262)
TypeError の定義
標準 最初期の定義
ECMAScript 5.1 (ECMA-262)
TypeError の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
TypeError の定義
標準  
ECMAScript Latest Draft (ECMA-262)
TypeError の定義
ドラフト  

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

参照

ドキュメントのタグと貢献者

このページの貢献者: Uemmra3, yyss, teoli, ethertank, Potappo, Hfjapancom
最終更新者: Uemmra3,