オブジェクトの整理
「や...やっと理解できた!JavaScriptのプロトタイプチェーン」を読んで
以下の記事を読んで、プロトタイプについて、オブジェクトを一度、整理しようと考えました。
「や...やっと理解できた!JavaScriptのプロトタイプチェーン」
http://d.hatena.ne.jp/maeharin/20130215/javascript_prototype_chain
世代別に整理
おそらく、JavaScriptを学習する上で、多くの人が最初にぶつかる、あるいは、一度はぶつかった問題として、ObjectとObject.prototypeの関係があります。この二つのオブジェクトの関係を理解すると、かなり、学習しやすくなるかもしれません。
そこで、世代別に分けていきましょう。
第一世代 (すべてのオブジェクトの始祖となるオブジェクト)
Object.prototype
第二世代 (第一世代の子供。第一世代のプロパティとメソッドを継承)
Function.prototype
第三世代 (第二世代の子。同様に、プロパティとメソッドを継承)
Object, Function
ObjectとObject.prototypeを比べたとき、普通に考えれば、Objectが一番えらくて、Object.prototypeがNo.2のように見えますが、実際は、No.2が真のラスボスです。しかも、Object.prototypeは、Objectのおじいさんに当たります。