LoginSignup
1
0

More than 3 years have passed since last update.

JavaScriptの__proto__とは一体なんなのか?

Last updated at Posted at 2021-01-14

私はJavaScriptを使用している時に、理解せずにずっと放置していた。
__proto__と言う謎の物体。これを理解せずに放置している人は多いと思う。
今回はそれをこの記事をきっかけに理解を試みた。

__proto__とは一体なんなのか?

空のオブジェクトを作成したはずなのに、__proto__が出てくる。

Objects.prototypeだった

JavaScriptでは作成された全てのオブジェクトの__proto__に対して、
自動的にObjects.prototypeプロパティが付属している。

Objects.prototypeをみてみると。

__proto__Objects.prototypeが全く同じプロパティを持っていることがわかる。
これはxObjects.prototypeから同じ__proto__を継承していると言うことである!

新しい機能を割り当てることも可能

Object.prototypeを変更することで、その後に作成される全てのオブジェクトにも変更が含まれる
新しい関数を与えてみると。

このように新しい機能を割り当てると、その後のオブジェクトではその機能を持つことが可能となる。

オブジェクトだけじゃない__proto__

オブジェクトだけが__proto__を持っているわけではなく、他にも存在する

  • Array.prototype
  • Number.prototype
  • String.prototype
  • Boolean.prototype

最後に

この__proto__の機能を使うことは非推奨なので、使う際には十分注意をしていただきたい。

developer.mozilla
参考

1
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
1
0