apply/call での継承の話
この件について。
継承というかスコープがわかりやすいというのもメリットだと思うけど、カプセル化しやすいのも大きなメリットかなと思う。
function Foo(){} (function(){ var bar = 'bar'; this.bar = bar.toUpperCase(); function baz () { console.log('baz'); } this.baz = function() { baz(); console.log('BAZ'); } }).call(Foo.prototype); function Bar(){} Bar.prototype = new Foo(); (function() { this.hoge = 'hoge'; this.baz = function() { Foo.prototype.baz.call(this); baz(); // 実行時に ReferenceError console.log('Bar::baz'); } this.bar = bar; // 評価時に ReferenceError }).call(Bar.prototype);