ES5 JavaScriptのプロトタイプチェーン(継承)
オブジェクトの継承 ~プロトタイプチェーン~
継承:もとのオブジェクトの機能を引き継いで新たなクラスを定義する。
JavaScriptではプロトタイプチェーンで実現する!
var Singer = function() {}; Singer.prototype = { walk : function() { console.log('DUDA DUDA DUDA...'); } }; var Michael = function() {}; Michael.prototype = new Singer(); // これがプロトタイプチェーン Michael.prototype.pow = function() { console.log('POW!'); }; var mj = new Michael(); mj.walk(); // DUDA DUDA DUDA... mj.pow(); // POW!
ES6が一般的になればclass構文が使えるようになり、上記のような記述はかなり楽になるかと思われます。ですがES6のclass構文はあくまでもSyntax Sugarなので、内部的には上記の動きは変わらないみたいです。ということで、上記のコードについて理解しておくことは意味がある!はず!
先日作ったES6+jQueryで作ったTodoアプリをAngularJSで動くように作り変えているのですが……これが難しい!
AngularJSは学習コストが高いというふうに事前に聞いては居ましたが、なかなか勝手がわからないのと、MVCモデル自体に対しての理解がまだ浅いのがツラミに拍車をかけている感じです。今はこんな感想ばっかしかブログに書けていませんが、余裕が出てきたらちゃんと意味のあるものを載せていきたいです……。