ホームページ >ウェブフロントエンド >jsチュートリアル >コンストラクター関数が this 以外の値を返す場合があるのはなぜですか?
new キーワードを使用してコンストラクター関数を呼び出すと、通常、関数は新しく作成された値を返すと想定されます。物体。ただし、特定の状況下では、代わりに this 以外の値が返されることがあります。
JavaScript では、この動作を制御する正確な条件は、関数オブジェクトの ECMAScript 仕様の内部 [[Construct]] プロパティで定義されます。呼び出されると、このプロパティは次の手順を実行します。
したがって、コンストラクター関数によって返される値によって、新しく作成されたオブジェクトが返されるかどうかが決まります。
新しく作成されたオブジェクトかどうかをテストするにはコンストラクターによって返されたものと実際に異なる場合は、 (new Foo()instanceof Foo) === false.
を確認できます。以上がコンストラクター関数が this 以外の値を返す場合があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。