ECMAScript 5のObject.createを使うと継承ができます。
[JavaScript]ECMAScript 5限定、継承にObject.createを使う
ECMAScript 5が使えない時の継承方法。
var extend = (function () { var F = function (){}; return function (P, C) { F.prototype = P.prototype; C.prototype = new F(); C.mama = P.prototype; C.prototype.constructor = C; }; }()); // Parent Class function Parent (x) { this.x = x; } // Child Class function Child (x) { Parent.apply(this, arguments); } // 継承 extend(Parent, Child); |
引数の順番や関数名や変数名は変えていますが、Scriptは「JavaScriptパターン-―優れたアプリケーションのための作法」に載っているものです。
「JavaScriptパターン」は私には少々難解すぎるのですが参考になることが多く、良い本だなーと思います。
JavaScriptで込み入ったサイトを作ったり、大規模開発を行う必要がある方にはおすすめです。