Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
JavaScript の例外 "must call super constructor before using 'this' in derived class constructor" は、派生クラスのコンストラクターで super() を呼び出していない状態で、this の値にアクセスしようとした場合や、派生コンストラクターがすでに終了しており、その戻り値がオブジェクトでない場合に発生します。
super() の呼び出しは、派生クラスのコンストラクターに対する new 呼び出しごとに最大 1 回しか行えません。多くの場合、ちょうど 1 回呼び出す必要があります。なぜなら、これを呼び出さないと親クラスのコンストラクターが this を初期化できず、派生コンストラクター内で this にアクセスできないためです。この状態のまま派生コンストラクターが終了すると、this は正しく構築されたオブジェクトと見なされず、例外が発生します。これを回避する方法として、派生クラスのコンストラクターからオブジェクトを返すことが挙げられます。この場合、 this の代わりに返されたオブジェクトが構築結果として使用されるため、super() を呼び出さなくても済みます。ただし、この方法が使われることはほとんどありません。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。