ES6クラスコンストラクターで作業するJavaScriptでドキュメントインデックスを構築しようとしていますが、es6コンストラクターで作業する正しい方法を見つけるのに問題があります。buildIndexを呼び出さない場合、オブジェクトは使用できないため、コンストラクターの良い候補のようです最初にsuperを呼び出すと、フィルターなしでインデックスが作成されます。正しいインデックスではないか、古いインデックスを破棄する必要があります最初にthis.filterを設定すると、まだsuperを呼び出していないというエラーがスローされます。構築後に明示的に-構築後に「構築」を呼び出す必要があるかのように直感的で正しくないようです。1ES6ベースのソリューションは、派生クラスを完全に初期化する必要がある基本コンストラクターに何も入れないことです。完全に形成されたオブジェクトを返します。オブジェクトの初期化を台無しにする可能性があります。FYI、オブジェクトの初期化で非同期操作を行う必要がある場合、同様の設計パターンを使用できます。メソッドは、すべての非同期操作が完了すると、オブジェクト自体に解決されるプロミスを返します。その後、ファクトリ関数はそのプロミスを返します。これらの両方のケースでファクトリー関数を使用する利点は、完全に初期化されるまで外部の世界がオブジェクトを使用できないことです。2コンストラクターで作業を行わないでください(特に作業時非同期です)。コンストラクタはインスタンスを初期化するだけで、それ以外は何もしません。作業が完了しないとインスタンスが使用できない場合は、構築前に静的メソッドでそれを行うことができます。limited?いいえ、何も見逃していません。コンストラクターは、あらゆるプログラミング言語でオーバーライド可能なメソッドを呼び出さないでください。3答えは、これが実際に構築されているクラスか、親かを識別するために、new.targetを使用しているようです一致する場合にのみ実際の作業を実行します。