Not if it's still passed
Take this example:
I wrote this function well over two years ago. It just pops up a notification if the user makes a CRUD call. (Create, Read, Update Delete). The function only takes two defined parameters a message and a notification.
The notification parameter is a boolean.
notification = true // notify user by a pop-up notification = false // inline-notification by form button, or in a defined space
Looking back at this function, it could be much better.
- Instead of a notification boolean, it can be notification style as a string.
- Call with the second parameter everywhere
Back to the question: Default Params in JS bad?
I think so if I'm not explicitly calling with all the params of a function. It's okay to have a fallback, but don't depend on it!
- It's leaves technical debt.
- How is another developer supposed to know what parameters are passed if they only see a partial picture?
- My boolean parameter is bad in this case.
How I refactored this function:
My snack pack reads are intended for a quick read without any fluff or BS.
Feedback is always welcome.