Since 2015, ES6 and the above versions have implemented many of the features of the utility libraries like Lodash and Underscore, questioning the need to use them as 3rd-party packages.
This brings up the discussion, do you still use them today and could you name some specific use case if you find them useful?
Oldest comments (27)
I have
_.debounce
in a project written in 2018. ES2018 doesn't have an equivalent.Did you see how it works under the hood? I think, the functionality is redundant for the most use cases.
npmjs.com/package/throttle-debounce Works like a charm
Only a few bytes
Yes I do use Underscore JS in most of my projects. Really helpful ❤️
Both are ES6-iterables incompatible, so no.
I use lodash.. it's not that heavy so I don't mind..
Your question makes me think, DEV should add a Poll feature to Forem 😉.
To answer your question: directly no. I think the last time I used one of these was 2 years ago at least.
But, indirectly yes and pretty sure it is the case for most us. These libraries are still use by some third party libraries and therefore added to
node_modules
.There is, actually. It's available only to admins, though.
Ah cool! Maybe some it will be accessible to all, would be nice 🤞
I use keyBy, groupBy, mapKeys and mapValues quite regularly.
Only for debounce and throttle
The last time I used underscore was two years or more ago, when nodejs still didn't support object destructuring and some other things like that
I occasionally use the individually packaged lodash functions. Having a known good deepClone function is oftentimes very handy.
Never really tried, I use Ramda instead.
Rambda makes code uncomfortable.
In what way? I realise Ramda has a different attitude to parameters from lodash (e.g. data last) but for me that's an improvement and enables more options for code organisation should you want to use them.
What about objects deep cloning?
I has been year since I needed to deeply clone an object. Is this a common use case for you?
It's not about frequency of using, but having a possibility to use it.
in case of multi-level objects with no methods JSON.parse(JSON.stringify(obj)) does the perfect job.
Yes, in large team with a big turnover and a lot of juniors you can reduce wheel reinventing by 100% on basic function.
Squared and triangle wheels are less than optimal.
I do. I mostly use throttle, debounce.
Occassionally I use union, difference, set and get (for nested objects), groupBy
Not now but did 2 years ago.
On my own projects no but in the codebase at work we have a couple of instances where we use lodash, one example being cloneDeep