私はJSの初心者ですが、この件について調査を行ったところ、網羅的な答えは見つかりませんでした。
プロジェクトに Angular JS を使用しており、いくつかの機能を公開するサービスがあります。
var app = angular.module('myApp', [])
app.service('mySrv', function() {
this.myFoo = function() {
var anObject = {}
//some code on the object...
return anObject
}
this.myGoo = function() { // function(object) maybe?
//some code on an object again
return aNewObject
}
}
次に、コントローラーで JQuery のようなことを行い、myFoo の出力を myGoo の入力としてチェーンします。
$scope.myObj = mySrv.myFoo(['some','params']).myGoo('another_one')
ここで述べたように、チェーン機能を追加するためにプロトタイプ プロパティを使用できることがわかりました JavaScript でチェーン機能を作成する方法は? しかし、同じ答えは、オブジェクトで行うべきではないと言っています。これは私の場合です...
最後になりましたが、JavaScript Object Method Chaining という別の方法があります: 便利ですか?
率直に言って、私は理解できませんでした...
誰かが私の心からこの霧をすべて取り除くことができますか?
編集: @plalx と @Connor の優れた例を使用して混合することで、このスニペットを機能させることができました。ご覧のとおり、@plalx の例の「連鎖可能な部分」がありません。
その部分は正確に何をしますか?
var o = {
setTest: function (test) {
this.test = test;
return this
},
getTest: function () {
this.test = this.test.toUpperCase()
return this
},
splitMe: function() {
return this.test.split('')
}
};
console.log( o.setTest('hello').getTest().splitMe() )