- The problem with passing an object as a parameter to a function is that it’s not clear what values you should put into it.
- One common thing in FP is to partially apply your functions, which is much harder to do if your function takes its parameters as an object.
- While separate parameters are a good starting point, we run into trouble as soon as the function has optional parameters.
- For functions with a single optional parameter, the solution is simple:
Best practice: optionals come last
However, if we have more than one optional parameter, the problem is… what if we only need to pass one optional parameter?
- You can pass in parameters easily as an object, but the properties for the object can be easily seen from the function’s signature.
From time to time, people ask things like “should I use objects to pass function arguments”. I’m sure you recognize the pattern, as it’s common with many libraries: