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?
Top comments (27)
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 still use Lodash in my personal React project, such as
union
,filter
,find
,map
andfindIndex
. I think OP can list some examples showing how one can replace Lodash operations with vanilla ES6, so everyone (incl. JS newbies) can see the similarities and differences.Some figures show that Lodash performs way better than vanilla JS (correct me if I'm wrong). Also, some think that Lodash utility functions are more readable, so it's not just about functionality. Personally, I think when I use Lodash I write less code.
I have
_.debounce
in a project written in 2018. ES2018 doesn't have an equivalent.npmjs.com/package/throttle-debounce Works like a charm
Only a few bytes
Did you see how it works under the hood? I think, the functionality is redundant for the most use cases.
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.
I use keyBy, groupBy, mapKeys and mapValues quite regularly.
I'm only aware of using lodash when it has yet another security vulnerability, and it's always an indirect dependency.
Most things lodash does can be done in line with a few lines of code, and those lines of code convey intent better than a cryptic lodash function name.
I work in a project that has a lot of functionality with lodash, I believe in the react method of getting rid of class components, just don't use it in new functionality.
Same I do with lodash, it's like "The jquery" of this generation.
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.
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
I do. I mostly use throttle, debounce.
Occassionally I use union, difference, set and get (for nested objects), groupBy