Re:Currying in JavaScript
by misterpurple45 on Sunday September 19, 2021 @09:46AM
(#28584282)
We use currying at work to inject dependencies. E.g.
`sendEmail(mockEmailService)(to, subject, body) `
I find it helps to differentiate between side-effecting dependencies and parameters, making code purer, easier to test, more scalable etc.
Re:Currying in JavaScript
by ImprobableTruth on Sunday September 19, 2021 @08:18AM
(#28583735)
>And for the other argument I could create separate functions logDebug, logWarning and logError, those would call the generic function with fixed strings, right?
Sure, but what would you do if e.g. the importance string isn't fixed? Well, you might write a function that takes in the importance string and returns a function that calls the generic function with the dynamic string. That's currying.
The real-world example doesn’t tell me why I would prefer currying instead of putting the date at the end and making it optional, then checking if missing to assign current date. And for the other argument I could create separate functions logDebug, logWarning and logError, those would call the generic function with fixed strings, right?