JavaScriptプロトタイプとは

藏色散人
藏色散人オリジナル
2021-11-11 17:21:573038ブラウズ

JavaScript オブジェクトには、別のオブジェクトを指す Prototype プライベート プロパティが組み込まれており、このオブジェクトを元のオブジェクトのプロトタイプと呼びます。

JavaScriptプロトタイプとは

この記事の動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript のプロトタイプとは何ですか? (関数: 継承を含む)

学習目標:
js とは何かを理解するプロトタイプ、プロトタイプ、構成関数、インスタンス オブジェクトの関係、プロトタイプの適用範囲。

プロトタイプとは
関数にはプロトタイプがあります。関数にはプロトタイプという属性があります。関数のプロトタイプはオブジェクトを指します。このオブジェクトはプロトタイプ オブジェクトと呼ばれます。 。このプロトタイプ オブジェクトには、関数自体を指すコンストラクター プロパティがあります。

# インスタンス オブジェクトにもプロトタイプがあります。インスタンス オブジェクトに存在するプロトタイプ オブジェクトは __proto__ です。__proto__ は一般に、目に見えないプロトタイプと呼ばれます。非表示のプロトタイプ インスタンスを作成したコンストラクターを指すコンストラクター プロパティがあります。

#コンストラクター、インスタンス オブジェクト、プロトタイプは直接関連しています
コンストラクターの関係インスタンス オブジェクトの場合
# 各インスタンス オブジェクトの __proto__ には、インスタンスを作成したコンストラクターを指すコンストラクター属性もあります。

インスタンス オブジェクト __proto__ とコンストラクターのプロトタイプの関係

各インスタンス オブジェクトの __proto__ はコンストラクターのプロトタイプを指しており、この 2 つは等しいです。

#コンストラクター、プロトタイプ プロトタイプ オブジェクト、インスタンス オブジェクト、プロト、コンストラクター、直接関係

#プロトタイプ関数

プロトタイプ関数 1: データ共有、メモリ領域の節約

プロトタイプ関数 2: 継承を実現するため
  • #プロトタイプがデータを共有してメモリ領域を節約する方法


JavaScript オブジェクト指向プログラミング
# #方法プロトタイプは継承を実装します。

たとえば、「animal」オブジェクトのコンストラクターが追加されました。


#「cat」オブジェクトのコンストラクターもあります。


#「猫」に「動物」を継承させるにはどうすればよいでしょうか?

「cat」のプロトタイプ オブジェクトが Animal のインスタンスを指している場合、「cat」のすべてのインスタンスは Animal を継承できます。



cat1 インスタンス オブジェクトとコンストラクターの関係図は次のとおりです

すべてのプロトタイプ オブジェクトには、そのコンストラクターを指すコンストラクター属性があります。

コードの後に​​ Cat.prototype = new Animal(); を追加します。

Cat.prototype.constructor は Animal を指します。





#cat1 インスタンス オブジェクトとコンストラクターの関係図は次のとおりです

推奨学習: 「

JavaScript 基本チュートリアル

以上がJavaScriptプロトタイプとはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。