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?
Latest comments (27)
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.
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'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.
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
Not now but did 2 years ago.
I do. I mostly use throttle, debounce.
Occassionally I use union, difference, set and get (for nested objects), groupBy
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.
What about objects deep cloning?
in case of multi-level objects with no methods JSON.parse(JSON.stringify(obj)) does the perfect job.
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.
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.
I occasionally use the individually packaged lodash functions. Having a known good deepClone function is oftentimes very handy.
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
Only for debounce and throttle
I use keyBy, groupBy, mapKeys and mapValues quite regularly.
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 lodash.. it's not that heavy so I don't mind..