jsプロトタイプオブジェクト

プロトタイプオブジェクト

  • 作成するすべての関数について、パーサーは暗黙の属性プロトタイプを関数に追加します

  • このプロパティはオブジェクトに対応します。このオブジェクトはいわゆるプロトタイプオブジェクトです。

  • 関数が通常の関数として呼び出された場合、プロトタイプは効果がありません

  • 関数がコンストラクターの形式で呼び出されると、関数が作成するオブジェクトには、コンストラクターのプロトタイプオブジェクトを指す暗黙の属性があります。__proto__を介して属性にアクセスできます。
    ここに画像の説明を挿入

  • プロトタイプオブジェクトはパブリックエリアと同等であり、同じクラスのすべてのインスタンスがこのプロトタイプオブジェクトにアクセスできます

  • オブジェクト内の共通コンテンツをプロトタイプオブジェクトに一律に設定できます

  • オブジェクトのプロパティとメソッドにアクセスするときは、最初にそれを探します。ある場合は直接使用し、
    そうでない場合はプロトタイプオブジェクトで検索し、見つかった場合は使用します。それを直接

  • コンストラクターを作成するときに、これらのオブジェクトの共通の属性とメソッドをコンストラクターのプロトタイプオブジェクトに設定できます。このように、オブジェクトごとに個別に追加したり、グローバルスコープに影響を与えたりする必要はありません。それぞれを作成できます。オブジェクトにはこれらのプロパティとメソッドがあります
    -

  • inを使用してオブジェクトに特定のプロパティが含まれているかどうかを確認する場合、オブジェクトにプロトタイプがない場合はtrueを返します。

ここに画像の説明を挿入
mcはこのオブジェクトにname属性を持っていませんが、プロトタイプにname属性がある場合はtrueも返します。

  • オブジェクトのhasOwnProperty()を使用して、オブジェクト自体にプロパティが含まれているかどうかを確認できます。このメソッドを使用して、オブジェクト自体にプロパティが含まれている場合にのみtrueを返します。
    ここに画像の説明を挿入

  • プロトタイプオブジェクトもオブジェクトであるため、プロトタイプもあります。
    オブジェクトのプロパティとメソッドを使用する場合は、最初に
    それ自体を探します。それ自体がある
    場合は直接使用します。そうでない場合は、直接使用します。プロトタイプオブジェクトで検索します。プロトタイプオブジェクトにある
    場合はそれを使用します。ない場合は、オブジェクトオブジェクトのプロトタイプ
    が見つかるまでプロトタイプオブジェクトのプロトタイプを探します。オブジェクトのプロトタイプ、未定義を返します

例えば:

console.log(mc .__ proto__ .__ proto __。hasOwnProperty);

おすすめ

転載: blog.csdn.net/weixin_48769418/article/details/108304071