Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
JavaScript の例外 "is not a constructor" は、オブジェクトや変数をコンストラクターとして使用しようとしたものの、そのオブジェクトや変数がコンストラクターではなかった場合に発生します。
オブジェクトや変数をコンストラクターとして使おうとしていますが、それらがコンストラクターではありません。コンストラクターとは何かについては、コンストラクターまたは new 演算子を参照してください。
String や Array のような、 new を使用して生成できる数多くのグローバルオブジェクトがあります。しかし、いくつかのグローバルオブジェクトはそうではなく、それらのプロパティやメソッドは静的です。次の JavaScript 標準組み込みオブジェクトのうち、 Math、JSON、Symbol、Reflect、Intl、Atomics はコンストラクターではありません。
ジェネレーター関数も、コンストラクターとして使用することはできません。
自動車のためのオブジェクト型を作成するとします。このオブジェクト型を Car と呼び、 make, model, year の各プロパティを持つようにしたいとします。これを実現するには、次のような関数を定義します。
次のようにして mycar というオブジェクトを生成できるようになりました。
ただちに解決するか拒否されるプロミスを返す場合は、 new Promise(...) を生成して操作する必要はありません。
これは正しくなく (Promise コンストラクターが正しく呼び出されません)、 TypeError: this is not a constructor 例外が発生します。
代わりに、 Promise.resolve() または Promise.reject() の静的メソッドを使用してください。
This page was last modified on 2023年8月18日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.