序文: 前回の記事では、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を実装するいくつかの方法
チーム開発のプロセスでは、プロジェクトの安定性、コードの効率性、管理の利便性のために、内部開発および...
<br />HTMLノードの追加と削除の簡単な例<input type="...
JavaScript には、for、for in、for of、forEach ループなど、多くのル...
Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...
1. Dockerをインストールする1. 仮想マシンに Centos7 をインストールしました。Li...
例:場所のルートとエイリアスルートディレクティブは、ルートによって設定されたディレクトリに検索ルート...
1. 準備LinuxシステムにTomcatをインストールし、デフォルトのポート8080を使用してTo...
目次1. 概要2. 応用例2.1、Docker コンテナ分離名前空間2.2. Docker のフリー...
1 はじめに PostgreSQL は、非常に充実した機能を備えたフリーソフトウェアのオブジェクトリ...
docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...
目次序文keep-avlive フック関数keep-avliveはどのコンポーネントをキャッシュする...
目次問題の説明方法 1 (バックエンドが画像 URL を返す)方法 2 (フロントエンドで requ...
シナリオ: データ量が増加すると、MySQL が配置されているディスクがいっぱいになり、より大きなス...
他のデバイスの画像をローカルディレクトリにマウントするなど、サーバー上の静的リソースにアクセスする必...
まず Linux に ssh をインストールします。例として Centos を使用します。ポータル:...