JS: Function Parameters
Number of Arguments Not Checked
for function defined by keyword function, JavaScript does not check the number of arguments passed in a function call.
- If there are more arguments passed in a function call than declared parameters, they are ignored.
- If less, then extra parameter variables have values of undefined .
// extra arguments are ignored. function ff(x) { return x; } console.assert(ff(2, 3, 4) === 2); // for arrow function too. const gg = (x) => x; console.assert(gg(2, 3, 4) === 2);
// unfilled parameters have value of undefined function ff(x, y) { return y; } const gg = (x, y) => y; console.assert(ff(3) === undefined); console.assert(gg(3) === undefined);
Parameter Default Value
Rest Parameters
Function Argument Destructure
the 「arguments」 Object
How to find the number of arguments passed?
The total count of arguments passed is arguments.length.