proto とconstructor.prototypeの違いは何ですか?

Mary-Kate Olsen
リリース: 2024-10-21 10:12:30
オリジナル
344 人が閲覧しました

What's the Difference Between proto and constructor.prototype?

proto とconstructor.prototype

JavaScript オブジェクトを操作する場合、proto とconstructor.prototypeは重要です。 proto はオブジェクトの直接のプロトタイプを指しますが、constructor.prototype はオブジェクトを作成した関数の作成元となったオブジェクトを指します。この区別により、プロトタイプ チェーンを走査するときに異なる結果が生じる可能性があります。

プロトタイプ チェーン トラバーサル

提供されたコードで示されているように、

proto を使用できます。オブジェクトのプロトタイプ チェーンを横断します。この例では、proto は、Gadget 関数のインスタンスである newtoy のプロトタイプ チェーンを走査するために使用されます。後続の各 proto 呼び出しはチェーン内で 1 レベル上がり、Object.prototype を超えるプロトタイプがないため、最終的に null を返します。

ただし、constructor.prototype.constructor.prototype.constructor.prototype の場合は、を使用すると、プロトタイプ チェーンも上に進みますが、ガジェット コンストラクターの作成元のプロトタイプを参照するため、最終的には最初のガジェット関数が返されます。

Internet Explorer での Null チェック

Internet Explorer では、

proto プロパティが使用できないため、Function オブジェクトのプロトタイプ ゲッターを使用してプロトタイプ チェーンをトラバースできます。以下のコードは、null をチェックする方法を示しています:

以上がproto とconstructor.prototypeの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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