JavaScriptのプロトタイプとは何なのか What is JavaScript prototype?

JavaScriptのプロトタイプって何なん?と思い調べたのでメモ。

 

プロトタイプ(プロトタイプオブジェクト)とは、クラスで言うスーパークラスみたいなもので、

オブジェクトの継承元のオブジェクトのことを言うらしい。

 

JavaScriptの全てのオブジェクトはプロトタイプオブジェクトとリンクしていて、一番上 の親となるオブジェクトがObject.prototypeになっている。

 

このように、クラスの継承みたいに親子関係があってつながっているのをプロトタイプチェーンと呼ぶようだ。

 

あるオブジェクトのプロパティの値を取得しようとしたときに、そのプロパティが存在しなかったら親となるオブジェクト(つまりプロトタイプオブジェクト)にそのプロパティがないか探しに行く(最終的にObject.prototypeに行き着く)。これを委譲というらしい。知らんかった。。

 

参考↓

www.amazon.co.jp

JavaScriptのバイブルらしい。読み始めたばかりだけどおもしろい。