序文: 前回の記事では、JavaScript プロトタイプを紹介しました。プロトタイプ チェーンも一緒に紹介してみませんか? JavaScript におけるプロトタイプチェーンは難しいポイントであり、面接でも必ず聞かれる質問なので、今のうちに学んでおきましょう。 1. プロトタイプの関係
標準では 次に、Object コンストラクターとプロトタイプの関係をテストします。サンプル コードは次のとおりです。 // まず、Object はコンストラクタ関数なので、プロトタイププロパティを持ちます var result = Object.prototype console.log(result) // プロトタイプオブジェクトを取得する/* * プロトタイプオブジェクトのコンストラクタプロパティ -> それに関連付けられたコンストラクタを返します * Object.getPrototypeOf(result) はコンストラクタを指すプロトタイプを返します */ var result2 = 結果.コンストラクタ console.log(result2) // [関数: オブジェクト] var result3 = Object.getPrototypeOf(結果) console.log(結果3) // null 図を以下に示します。 2. プロトタイプチェーンプロトタイプチェーンが何であるかを理解しやすくなるように、まず次のコードを見てみましょう。 関数 Person(名前) { this.name = 名前 } var PP = Person.プロトタイプ var PPC = PP.コンストラクタ // コンストラクタと同じであることを確認する console.log(PPC === Person) // true // Person をインスタンス化する var person = new Person('Yiwan Zhou') // インスタンス化された Person オブジェクトのプロトタイプを取得します var pP = Object.getPrototypeOf(person) // インスタンス化されたPersonオブジェクトのプロトタイプがコンストラクタのプロトタイプを指していることを確認します console.log(pP === PP) // 真 実際、次のコードでテストされているように、すべてのコンストラクターはデフォルトで Object から継承されます。 // Person.prototype のプロトタイプを取得します。var PPP = Object.getPrototypeOf(PP) var OP = オブジェクト.プロトタイプ // 2つが等しいかどうかを確認します console.log(PPP === OP) // true 上記のコードはあまり明確ではないので、理解を助けるために図を描きました。 上の図の赤い線はプロトタイプ チェーンです。プロトタイプ チェーンは、最終結果が null (つまり 3. 結論2 つの図を使用して、JavaScript におけるプロトタイプの関係とプロトタイプ チェーンについて説明します。最後に、プロトタイプ チェーンの終点を紹介します。 これで、2 枚の画像で JavaScript のプロトタイプ チェーンを理解する方法についての記事は終了です。JavaScript プロトタイプ チェーンの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 一般的な DIV タスク (パート 2) — DIV のエディターとさまざまな DIY アプリケーションへの変換
>>: 幅の比率に応じて高さを変えるCSSを実装するいくつかの方法
目次序文【ログ取り消し】 【REDOログ】 【バイナリログ】要約する序文MySQL には、REDO ...
背景: MySQL では、レベルに制限がある場合、たとえば、ツリーの最大深度を事前に決定できる場合、...
ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...
1. Redisイメージを取得するdocker pull redis 2. それぞれポート6379、...
この記事では、divマウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考まで...
この記事では、MySQLのプリコンパイル機能について紹介します。具体的な内容は以下のとおりです。 1...
OBS studioかっこいいですが、 JavaScriptもっとかっこいいです。では、 JavaS...
title: vue は vue-meta-info を使用して各ページのタイトルとメタ情報を設定...
目次1. サービスの開始と停止の手順1.1 Windows での MySQL 5.7 の公式 MSI...
1. はじめにSELinux が Linux にもたらす主な価値は、柔軟で構成可能な MAC メカニ...
目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...
一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...
この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...
MySQL 結合クエリ1. 基本概念2 つのテーブルの各行をペアで水平に接続して、すべての行の結果を...
この記事では、省、市、地区の3段階選択を実現するためのjsの具体的なコードを紹介します。具体的な内容...