回答編集履歴
1
書式の改善
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
上記リンク先にあるとおり、sortByといった一部の最適化が不可能な場面もありますが、普通にぐるぐる回すループ処理に関してはちゃんと遅延評価が効きます。その効果は絶大だと自分は思っています。
|
6
6
|
|
7
|
-
jQueryに関しては皆さんの仰る通り用途が別なのでlodashと共存可能ですが、jQueryにもeachやmapといった似たAPIがありますよね。jQueryのイテレータは第一引数にindexがバインドされて来るので、`$('div').each((ignore,
|
7
|
+
jQueryに関しては皆さんの仰る通り用途が別なのでlodashと共存可能ですが、jQueryにもeachやmapといった似たAPIがありますよね。jQueryのイテレータは第一引数にindexがバインドされて来るので、`$('div').each((ignore, elem)=>{ /*elem操作*/ })`という冗長な書き方となり、うざいなと思ってしまいます。
|
8
8
|
Array.prototype.forEachや_.eachのように、indexが第二引数だったならば、必要な時にだけ定義できたのに…(後出しジャンケンなのでしょうがないですが)
|
9
9
|
|
10
10
|
あと、$.eachは`return false`でbreakできるのは解りやすいかもしれませんが、Arrayとlodashにはsomeがあるので困りませんし、なんならsomeのほうが「このループ、途中で抜ける可能性あるのね」とメソッドをみただけで判断できる利点があります。
|
@@ -12,4 +12,6 @@
|
|
12
12
|
最後にオブジェクトのディープコピーな場面もlodashの旨味はあるかと。
|
13
13
|
Object.assignは大変便利ですがシャローでIEアウトです。
|
14
14
|
jQueryは`const obj2 = $.extend(true, {}, obj)`初見では意味不明です。
|
15
|
-
lodashは`const obj2 = _.cloneDeep(obj)`そのまんまです。
|
15
|
+
lodashは`const obj2 = _.cloneDeep(obj)`そのまんまです。
|
16
|
+
|
17
|
+
というようにjQueryは細かいところで冗長で、書き味だけでなく、後々の読み心地も違ってくるかと思います。
|