フロントエンドの新しいオペレーターは何をしますか?

DDD
リリース: 2023-11-13 14:20:29
オリジナル
1286 人が閲覧しました

フロントエンドの new 演算子は、新しいオブジェクト インスタンスを作成します。具体的な手順: 1. 空の単純な JavaScript オブジェクトを作成します; 2. 空のオブジェクトの "__proto__" 属性をコンストラクターのプロトタイプ オブジェクトにポイントします; 3. コンストラクター内の this キーワードを新しく作成された空のオブジェクトにポイントします; 4. 、コンストラクター内のコードを実行し、新しいオブジェクトにプロパティとメソッドを追加します; 5. コンストラクターがオブジェクトを返す場合はこのオブジェクトを返し、そうでない場合は新しく作成されたオブジェクトを返します。

フロントエンドの新しいオペレーターは何をしますか?

# このチュートリアルのオペレーティング システム: Windows 10 システム、Dell G3 コンピューター。

以前の開発では、新しいオブジェクト インスタンスを作成するために new 演算子が使用されました。 new 演算子を使用する場合、次の手順が実行されます。

  1. 空の単純な JavaScript オブジェクト (つまり、{}) を作成します。

  2. この空のオブジェクトの __proto__ 属性をコンストラクターのプロトタイプ オブジェクトにポイントします。

  3. コンストラクター内の this キーワードが、新しく作成されたこの空のオブジェクトを指すようにします。

  4. コンストラクター内のコードを実行して、この新しいオブジェクトにプロパティとメソッドを追加します。

  5. コンストラクターがオブジェクトを返す場合は、このオブジェクトを返し、それ以外の場合は、新しく作成されたこのオブジェクトを返します。

このプロセスを詳しく分析してみましょう:

空の単純な JavaScript オブジェクトを作成します: この空のオブジェクトが、作成されるインスタンス オブジェクトになります。このオブジェクトは、コンストラクターのプロトタイプ オブジェクトのプロパティとメソッドを継承します。

この空のオブジェクトの __proto__ 属性をコンストラクターのプロトタイプ オブジェクトにポイントします。プロトタイプ オブジェクトは、継承可能なプロパティとメソッドを含むオブジェクトです。 JavaScript では、すべての関数にそのプロトタイプ オブジェクトを指すプロトタイプ属性があります。 new 演算子を使用してオブジェクトを作成すると、新しいオブジェクトの __proto__ 属性はコンストラクターのプロトタイプ オブジェクトを指します。

コンストラクター内の this キーワードが、新しく作成された空のオブジェクトを指すようにします。コンストラクター内で、this キーワードを使用して、この新しいオブジェクトにプロパティとメソッドを追加できます。ここでの this キーワードは、現在作成中のインスタンス オブジェクトを指します。

コンストラクター内でコードを実行して、この新しいオブジェクトにプロパティとメソッドを追加します。コンストラクター内で、この新しいオブジェクトにプロパティとメソッドを追加して、必要な状態に初期化できます。

コンストラクターがオブジェクトを返す場合は、このオブジェクトを返します。それ以外の場合は、新しく作成したオブジェクトを返します。コンストラクター内に return ステートメントがあり、オブジェクトを返す場合は、このオブジェクトを返します。それ以外の場合は、New だけを返します。オブジェクトが作成されました。これは、必ずしも this が指すオブジェクトではなく、コンストラクター内でカスタム オブジェクトを返すことができることを意味します。

new 演算子を使用してオブジェクト インスタンスを作成する場合、空のオブジェクトを作成し、その __proto__ 属性をコンストラクターのプロトタイプ オブジェクトにポイントします。次に、コンストラクター内のコードが実行されて、この新しいオブジェクトにプロパティとメソッドが追加されます。最後に、コンストラクター内に return ステートメントがある場合は、指定されたオブジェクトが返され、それ以外の場合は、新しく作成されたオブジェクトが返されます。このようにして、コンストラクターを使用して複数のインスタンス オブジェクトを作成し、それらはすべてコンストラクターのプロトタイプ オブジェクトのプロパティとメソッドを共有できます。

以上がフロントエンドの新しいオペレーターは何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!