Yeah, problem with JavaScript function signatures is that every function argument is optional, including all the arguments you didn't write.
In python those functions would look like:
def F(a = None, b = None, *args): ...
And you can't write any other kind of function in javascript. I don't really like that aspect of javascript, it creates so many hard to debug situations.
The first is an example of default argument syntax, it doesn't mean you can call functions with extra arguments, only that a value will be provided from the declaration if the call doesn't.