TL;DR
モジュール性と性能を重視した、JavaScript のユーティリティライブラリ。配列、数値、オブジェクト、文字列の扱いを楽にする。MIT ライセンスで公開されている。
なぜ必要か
公式サイトによると、Lodash のメソッドは、配列やオブジェクト、文字列の走査、値の操作や判定、関数の合成に役立つ。
仕組み
npm i --save lodash で入れ、require('lodash') で全体を読み込む。小さいコアだけの lodash/core や、関数型プログラミング向けの lodash/fp もある。
例
_.defaults({ a: 1 }, { a: 3, b: 2 })
// → { a: 1, b: 2 }
_.partition([1, 2, 3, 4], (n) => n % 2)
// → [[1, 3], [2, 4]]defaults は、既にあるプロパティを上書きせずに、足りないプロパティを補う。partition は、条件によって配列を 2 つに分ける。
Effective TypeScript 第2版 ―型システムの力を最大限に引き出す83項目 では、ループの代わりに Lodash のような関数型のライブラリを使うと、型の流れがよくなるとしている。