EcmaScriptのプロトタイプチェインを視覚的に

っていうか誰か prototype chain を視覚的にわかるようにして! ECMAScript の仕様にも図があって、わかんないことはないんだけど、まだなんかいまいち納得しきれてない。

プロトタイプチェインについてのより詳しい説明はプログラマのためのJavaScriptに譲るとして、図だけ書いてみた。

プロトタイプチェーンを説明する図
プロトタイプチェーン

注意すべきなのは、__proto__プロパティというのは便宜上の存在であり、処理系によってはアクセス出来ないこともあるということだ。仮にアクセスできたとしても、EcmaScriptの仕様書は名前まで規定していなので、__protoobj__の様な違う名前が使用されていることもあり得る。あくまで、概念的な存在として認識して欲しい。仕様書内では[[Prototype]]として記載されているらしい。