新しいキーワードを使用すると、donder
produというコンストラクタ関数から作成されたオブジェクトにプロパティが追加されることがわかりました。
このプロパティは、コンストラクタ関数のプロトタイププロパティにリンクします。
しかし、このプロトタイププロパティには、プロトタイププロパティがどのような値を持つかは、メソッドとプロパティを配置できるオブジェクトです。
これらのメソッドとプロパティは、そのコンストラクタ関数から作成された任意のオブジェクトによって共有され、アクセス可能です。
この例では、呼び出されるプロトタイプにプロパティを追加することはinstructorであり、値をtrueに設定する新しいキーワードが使用されています。
このコンストラクタからnewキーワードを使用して作成されたすべてのオブジェクトは、is instrにアクセスできます。
プロパティ。
しかし、どのように世界でそれが起こったのですか？
プロトタイプオブジェクトの上にプロパティを追加しました。突然2つの一見無関係なオブジェクトのすべてがそのオブジェクトにアクセスできます。
答えはプロトコルの下にあります。
これらのオブジェクトは人のドットプロトタイプへのリンクを持っているため、内部には何もアクセスできません。
実際には、これは実際にjavascriptがオブジェクトのメソッドとプロパティを見つける正確な方法です。
私たちが今説明したのは、プロトタイプチェーンと呼ばれるものです。
それについてもう少し話しましょう。
私たちは、人のプロトタイプオブジェクトにプロパティを追加したときに、新しいキーワードを使用してそのコンストラクタ関数によって作成されたオブジェクトからアクセス可能であることを見ました。
私たちは、それが可能な理由は、javascriptがメソッドとプロパティを探す方法のためだと言いました。
例を見てみましょう。
Rという変数を作成し、それを空の配列に設定します。
私が実際にしたのは、新しい配列を書くための略語でした。
私は配列と呼ばれるjavascriptに組み込まれたコンストラクタを使用し、それから新しいオブジェクトを満たしています。
また、javascriptでは、配列の最後に何かを追加するPushというメソッドが配列に含まれていることもわかります。
しかし、このプッシュ方法はどこで定義されていますか？また、javascriptはどこでそれを見つけるのかを知っています。
答えはDunder Pratoです。
それをキャンセルしましょう。
D'oh。
R変数を見ると、このオブジェクトはすべてlenthというプロパティを持っていますが、プッシュメソッドはどこから来るのでしょうか。
さて、この変数のDunder Pratoが何であるかを調べてみましょう。
Prato
tripleの下にあることを示すことで、レーダーのプロトタイプが真であると評価できるのは、配列のドットプロトタイプです。
だから、javascriptがメソッドとプロパティを見つける方法は、オブジェクトを見ることであり、探しているメソッドやプロパティが見つからない場合は、そのオブジェクトdonder
protoに行きます。
これは実際にプロパティまたはメソッドが見つかるまで起こり続けます。
そして、もしそれが見つからなければ、式は未定義と評価されます。これは、javascriptの別の例でこれをさらに見ることができます。
すべてのオブジェクトにはhas has
ownプロパティと呼ばれるメソッドがあり、プロパティのhasメソッドのパラメータとして指定されたプロパティがオブジェクトにある場合はtrueを返します。
どういう意味ですか。
場合によっては、コード例が1000語の価値がある場合もあります。
私たちの変数に戻りましょう。
変数が長さの独自のプロパティを持っているかどうかを調べようとしますが、このメソッドはどこに配置されていますか。
私たちの変数をコンソールドットDIRで見てみましょう。
Diyarと入力するだけで、ここにはないようです。
では、javascriptは何をしますか？
それはプロトタイプチェーンを上って、次のものを見つけると、Pratoの下のものがオブジェクトプロトタイプであることがわかります。
そして、ここにその方法が見出されます。
ダイアグラムでも同様に説明できます。
再び円は関数であり、四角はオブジェクトです。
ここでは、レーダープロトタイプのPratoを寄贈したR変数があります。
アレイアッププロトタイプもオブジェクトであり、オブジェクトプロトタイプを指す独自の寄稿者Pratoがあり、javascript内のすべてのオブジェクトにプロトタイプのオブジェクトが含まれています。
そこには、プロトタイプがヌルであるオブジェクトのDunder
Pratoから来た独自のプロパティがあり、プロトタイプチェーンが停止する場所があります。
要約すると、javascriptがプロトタイプチェーンを使用してメソッドとプロパティを見つける方法を分析すると、javascriptがオブジェクトをどのように見て、探しているメソッドやプロパティが存在するかを確認しました。
そうでなければ、それはそのオブジェクトDondre Pratoに行き、次のビデオに別のDondreプログラムがなくなるまで繰り返す。
プロトタイプのプロパティの価値とエクササイズの実践についてもっと詳しく説明します。
私たちを参照してください