まだJS初心者のようですが、プロトタイプと継承を使用するための最良の/最もクリーンな方法を理解しようとしています。
通常、私は次のようなオブジェクト/プロトタイプ定義を記述します。
var Foo = function(data) {
this.data = data;
};
Foo.prototype = {
someMethod: function() {
return "whatever";
}
};
数層の深さの名前空間オブジェクトを使用することが多いので、これが好きです。実際には、次のようになります。
App.Model.FooModel = function(){...};
App.Model.FooModel.prototype = {...};
プロトタイプを作成するためにすべてのメソッドのフルネームを入力する必要がないので、これは素晴らしいことです。つまり、名前だけです。someMethod: function(){}
の代わりにApp.Model.FooModel.prototype.someMethod = function(){}
。
さて、私が遭遇した問題は、JSの継承でこれを行う方法がわからないことです。このようにすると、継承が正常に機能するようになります。
var Child = function(){...};
Child.prototype = new Parent;
Child.prototype.someMethod = function(){...};
...しかし、より複雑なアプリケーションでは、すべてのメソッドのオブジェクトのフルネームを書き出すことに戻ります。これは、面倒で読みにくいと思います。
だから、私の質問は、オブジェクトのフルネームを使用してすべての子メソッドをアタッチすることを除いて、別のオブジェクトから継承するプロトタイプを作成するためのクリーンで簡単な方法はありますか?
ありがとう!