Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

TypeError: "x" is not a constructor

この記事は編集レビューを必要としています。ぜひご協力ください

メッセージ

TypeError: "x" is not a constructor

TypeError: Math is not a constructor
TypeError: JSON is not a constructor
TypeError: Symbol is not a constructor
TypeError: Reflect is not a constructor
TypeError: Intl is not a constructor
TypeError: SIMD is not a constructor
TypeError: Atomics is not a constructor

エラータイプ

TypeError

何がうまくいかなかったのか?

オブジェクト、または変数をコンストラクタとして使おうとしていますが、それらがコンストラクタではありません。コンストラクタとは何かについては、constructornew 演算子を見てください。

StringArray のような、new を使用して生成できる数多くのグローバルオブジェクトがあります。しかし、いくつかのグローバルオブジェクトはそうではなく、 それらのプロパティやメソッドは静的です。次の JavaScript 標準ビルトインオブジェクトは、コンストラクタではありません:MathJSONSymbolReflectIntlSIMDAtomics

function* は、いづれかのコンストラクタとして使用することはできません。

無効なケース

var Car = 1;
new Car();
// TypeError: Car is not a constructor

new Math();
// TypeError: Math is not a constructor

new Symbol();
// TypeError: Symbol is not a constructor

function* f() {};
var obj = new f;
// TypeError: f is not a constructor

car コンストラクタ

車のためのオブジェクト型を生成するとします。このオブジェクトの型が car と呼ばれ、make と model、year プロパティを持つとします。これを行うには、次の関数を定義します:

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

次のように mycar と呼ばれるオブジェクトを生成できます:

var mycar = new Car("Eagle", "Talon TSi", 1993);

関連項目

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

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,