プロトタイプチェーン図プロトタイピングに必須の知識プロトタイプを理解するには、 1.__proto__ とコンストラクター属性はオブジェクトに固有です。 2. プロトタイププロパティは関数に固有です。 3. js では関数もオブジェクトの一種なので、関数には __proto__ とコンストラクターというプロパティもあります。 プロトタイプの 5 つのルール: 1. すべての参照型(オブジェクト、配列、関数)はオブジェクト特性を持ち、プロパティを自由に拡張できる。 2. すべての参照型(オブジェクト、配列、関数)には、通常のオブジェクトである__proto__(暗黙のプロトタイプ)属性があります。 3. すべての関数にはプロトタイプ(明示的なプロトタイプ)プロパティがあり、これも通常のオブジェクトです。 4. すべての参照型(オブジェクト、配列、関数)の__proto__値は、そのコンストラクタのプロトタイプを指します。 5. オブジェクトのプロパティを取得しようとするとき、変数自体にこのプロパティがない場合は、__proto__でそのプロパティを探します。 プロトタイププロパティ(プロトタイプを表示)まずコンストラクタを作成する var 親 = 関数(){ } // 関数を定義します。これは単なる通常の関数です。var p1 = new Parent(); //キーワードnewにより、Parentはコンストラクタになります //Parentコンストラクタp1のインスタンスを作成します
Parentはコンストラクタ、Parent.prototypeはプロトタイプです proto プロパティ (暗黙のプロトタイプ)__proto__ プロパティはオブジェクト (関数を含む) に固有です。 すべてのオブジェクトには、オブジェクトのプロトタイプ オブジェクトを指す __proto__ プロパティがあります。 p1.__proto__ === Parent.prototype; // true __proto__ は通常、暗黙のプロトタイプと呼ばれ、prototype は通常、明示的なプロトタイプと呼ばれます。オブジェクトの暗黙のプロトタイプは、オブジェクトのコンストラクタの明示的なプロトタイプを指していると言えます。次に、明示的なプロトタイプで定義されたプロパティ メソッドが、暗黙的なプロトタイプを介してコンストラクターのインスタンスに渡されます。この方法により、インスタンスはコンストラクター プロトタイプのメソッドとプロパティに簡単にアクセスできます。 Parent.prototype.__proto__ === Object.prototype; //true これにより、プロトタイプ チェーンの概念が導入されます。p1.toString もちろん、 Object.prototype に見つからない場合は コンストラクタプロパティコンストラクター関数はプロトタイプを通じてプロトタイプにアクセスするため、プロトタイプも何らかの手段、つまりコンストラクターを通じてコンストラクター関数にアクセスできる必要があります。 前の例と同様に、p1 はオブジェクトであり、p1 のコンストラクターは Parent() です。親のコンストラクタは Function() です p1.コンストラクタ => f 親{} Parent.constructor => f Function() { [ネイティブコード] } Function.constructor => ƒ Function() { [ネイティブコード] } 関数はすべての関数のルート コンストラクターです。 この例から、p1 の 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: レイアウトサイズを変更するために左右にドラッグする純粋なCSS
>>: HTML の順序なしリストタグと順序付きリストタグの使用例
1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...
目次1. JavaScriptを使用してQRコードを解析する1. QR コードとは何ですか? 2.q...
目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....
位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...
序文最近、MySQL 5.7 をインストールしましたが、問題が見つかりました。コマンド ライン ウィ...
障害の説明percona5.6、mysqldump フルバックアップ、バックアップデータのインポート...
1. 機能: xargs は、stdin 内のスペースまたは改行で区切られたデータをスペースで区切ら...
Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決しますコード例: var...
1. 説明MySQLでは、テーブル内の行の総数を取得する必要がある場合、通常は次の文を使用します。 ...
MySQL 5.7.x の最新バージョンをダウンロードしてインストールしました。デフォルトでは、on...
1. はじめに画像は多くのスペースを占め、画像の数が増えるほど管理が難しくなるため、シンプルなラベル...
カーソル選択クエリによって返される行のセットは、結果セットと呼ばれます。結果セット内の行は、入力した...
国内のネットワーク環境が悪化し続ける中、さまざまな改ざんや乗っ取りが後を絶たず、サイト全体をHTTP...
明確な意味: distinctive は、一意のレコードの数を照会するために使用されます。つまり、d...
yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...