0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

javascript66_prototype属性

Posted at

私たちが作っている全ての関数に対して、パソコンが該当関数の中にprototype属性を入れます。
image.png
関数ごとに原型対象は違います。
image.png

普通の関数がprototypeを呼び出しても意味ありません。
関数が構造関数としてprototypeを呼び出す時、構造関数(クラス)から生成された全てのインスタンスには一つの隠された属性はクラスのprototype対象を指しています。
その隠された属性については__proto__でアクセスすることができます。
image.png
クラスとインスタンスの中に共通の属性があり、その属性は全部同一オブジェクト(0x123)を指しています。
同一オブジェクトは一つのパブリック領域に相当し、全てのクラスおよびクラスから生成されたインスタンスはこのオブジェクトをアクセスすることができます。
image.png
そのため、私たちは各オブジェクトの中に共有している内容を全部、共有のオブジェクト内に設置することができます。
image.png
構造図はこうなります。

image.png

一つのオブジェクトの属性またはメソッドをアクセスする時に、
まずはオブジェクト自身で探します。あれば、直接使用します。
なければprototypeオブジェクトの中で探して呼び出しします。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?