In python, we can do:
func(a, b=1, c=2)
And then call it like that
func(8, c=5)
With ES6, we can declare it in the same way :
func(a, b=1, c=2)
But how to set c without setting b to undefined ?
You can create a function that accepts an object, and get the parameters using destructuring. Now you can pass the parameters in any order you wish:
function fn({ a, b = 1, c = 2 }) {
console.log({ a, b, c })
}
fn({ a: 8, c: 5 })