Underscore.JS源(https://github.com/jashkenas/underscore/blob/master/underscore.js)によれば:なぜUnderscore.js chain()メソッドが怠惰ではないのですか?
// Start chaining a wrapped Underscore object.
chain: function() {
this._chain = true;
return this;
},
// Extracts the result from a wrapped and chained object.
value: function() {
return this._wrapped;
}
鎖()と値()関数は、アンダー・オブジェクトの単純なラッパーです。
私は次のような構成使用しているのであれば:
_.chain(someCollection)
.map(function1)
.map(function2)
.map(function3)
.value()
を下線は二つの中間のコレクションを作成し、3つの列挙を実行します。
LINQのように評価された遅延がそのメソッドを実装するため、chain()メソッドとvalue()メソッドが実装されないのはなぜですか?たとえば、このチェーンは次のように扱うことができます。
このような実装にはJS関連の問題はありますか?