JavaScriptプロトタイプとは

Nov 11, 2021 pm 05:21 PM
javascript プロトタイプ

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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

JavaScriptでinsertBeforeを使用する方法

JavaScript で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを簡単に取得する方法

See all articles