X Tutup

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

TypeError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.

* Some parts of this feature may have varying levels of support.

TypeError オブジェクトは、演算が実行できなくなった時の新しいエラーを表します。特に値が期待された型ではなかった場合です(ただし、それに限りません)。

TypeError は以下のような場合に発生します。

  • 関数に渡されたオペランドや引数が、その演算子や関数で期待された型と互換性がなかった場合
  • 変更できない値を変更しようとした場合
  • 適切ではない方法で値を使用しようとした場合

TypeErrorシリアライズ可能オブジェクトであり、structuredClone() で複製したり、ワーカー間で postMessage() を用いてコピーしたりすることができます。

TypeErrorError のサブクラスです。

コンストラクター

TypeError()

新しい TypeError オブジェクトを生成します。

インスタンスプロパティ

親である Error から継承したインスタンスプロパティもあります。

これらのプロパティは TypeError.prototype に定義されており、すべての TypeError インスタンスで共有されます。

TypeError.prototype.constructor

このインスタンスオブジェクトを作成したコンストラクター関数です。TypeError インスタンスの場合、初期値は TypeError コンストラクターです。

TypeError.prototype.name

エラーの型の名前を表します。TypeError.prototype.name の場合、初期値は "TypeError" です。

インスタンスメソッド

親である Error から継承したインスタンスメソッドもあります。

TypeError の捕捉

js
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.stack); // エラーのスタック
}

TypeError の生成

js
try {
  throw new TypeError("Hello");
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "TypeError"
  console.log(e.stack); // エラーのスタック
}

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

ブラウザーの互換性

関連情報

X Tutup