Не всякий лодаш одинаково хорош

January 16, 2017

При работе с JavaScript всегда подключал привычно Underscore.js, но всегда помнил идею, что Lodash - тоже самое только гораздо лучше по каким-то там параметрам. Именно так писали про Лодаш, когда он появился (а если я правильно помню, то Андескор появился раньше).

Недавно, балуясь с нодой, подключил const _ = require("lodash") и очень быстро нашел отличие. В андескоре есть три варианта вызова методов:

consts _ = require("underscore")

// два вида записи одного и того же:
_.groupBy([1], x => x)  // => {'1': [1]}
_([1]).groupBy(x => x)  // => {'1': [1]}

// и специальный синтаксис для колбас:
_.chain([1]).groupBy(x => x).keys().value()  // => ['1']

В лодаш же так (хотя _.chain тоже работает скорее всего для совместимости):

consts _ = require("lodash")

_.groupBy([1], x => x)  // => {'1': [1]}
_([1]).groupBy(x => x).keys().value()  // => {'1': [1]}

Хм. В Андескоре привычнее, так как пользовался много лет, но в Лодаш, пожалуй, логичнее.

PS. Документацию не читал, нашел разницу экспериментально.

comments powered by Disqus