つい数時間前にlodash-3.0.0がリリースされました。
一つ前のバージョンと概ね互換性はあるようですが、非互換の修正もあります。
自分に関係のあった箇所は以下の通り。
_.template
の戻り値が変更_.chain
が遅延評価されるように
今のところこれだけですが、他に何かあれば追記します。
_.templateの戻り値が変更
これまでは、
_.template("foo is <%=foo%>", { foo: 42 }) === "foo is 42"
だったのですが、lodash-3.0.0からは
_.template("foo is <%=foo%>")({ foo: 42 }) === "foo is 42"
です。
_.chainが遅延評価されるように
これまでは、
// 注: _(...)は_.chain(..)と同じ _([1, 2, 3]).each(function(x) { console.info(x); });
で動いていたコードは、lodash-3.0.0からは
_([1, 2, 3]).each(function(x) { console.info(x); }).value(); // valueでなくても、戻り値が値になるメソッドなら何でも良い
とする必要があります。
遅延評価なので、値が必要になるまで実際の処理は実行されません。