プロトタイプチェーン図プロトタイピングに必須の知識プロトタイプを理解するには、 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 の順序なしリストタグと順序付きリストタグの使用例
mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...
ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...
3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...
この記事では、MySQL 5.7.20のインストールと設定方法を参考までに紹介します。具体的な内容は...
目次1. データベースエンジン1.1 ビューデータベースエンジン1.2 デフォルトのデータベースエン...
mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...
目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...
MySQL でデータやテーブルを削除するのは非常に簡単ですが、削除するとすべてのデータが消えてしまう...
目次1. インストール2. vue2でEchartsを使用するmain.jsファイル内コンテナが与え...
目次次のチェックv-model 構文シュガー.sync 修飾子$セット計算プロパティセット要約する次...
ラベルテキストと入力の垂直方向の中央揃えを調整するのは簡単ではありません。padding、verti...
1. jmeterの基本イメージを構築するDockerfile は次のとおりです。 # Java 8...
方法1: Pycharmをダウンロードしてインストールするダウンロードアドレス: https://w...
序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...
Docker には 3 つの基本概念が含まれています。イメージ: Docker イメージはルート フ...