JavaScriptでの継承
JavaScript(ECMAScript)は、Prototypeベースのオブジェクト指向なので、継承を使いたい場合、Prototypeを設定すると属性を共有できるようになる。自身にその属性がない場合、prototypeの同属性を自動的に探しに行く仕組みのことである。
function Foo() { } // Fooはnameプロパティを持ったObjectを継承 Foo.prototype = { name : "Foo", }; function Bar() { } // BarはFooを継承 Bar.prototype = new Foo(); alert(new Bar().name);
Prototypeに設定するオブジェクトは、「コンストラクタのprototypeメンバー」に置く。間違えやすいのは、オブジェクトそのもののprototypeメンバーに置いたり、prototypeにコンストラクタそのものを代入したりすること。