JS: Function Parameters

By Xah Lee. Date: . Last updated: .

Number of Arguments Not Checked

JavaScript doesn't check the number of arguments passed in a function call.

function f (x) { return x;}

// extra arguments are ignored
console.log ( f(2,3,4) === 2 ); // true
// unfilled parameters have value of 「undefined」
function gg (x, y) { return y;}
console.log ( gg(3) === undefined ); // true

Parameter Default Value

Parameter can have default value, like this:

function f(param=value) {…}

[see JS: Function Argument Default Value]

Rest Parameters

A function can have unspecified number of parameters, like this:

function f (...name) { return name; }

That is, 3 dots followed by a name. In function body, the name is received as a array.

The syntax ...name must be the last item in parameter declaration.

[see JS: Function Rest Parameters]

Function Argument Destructure

[see JS: Function Argument Destructure]

the 「arguments」 Object

[see JS: Function's “arguments” Object]

How to find the number of arguments passed?

The number of arguments passed is arguments.length.

With ES2015 onward, you should avoid using this feature.

[see JS: Function's “arguments” Object]

How to find out how many parameters are declared?

Function has a .length property. Its value is the number of parameters declared in the function.

console.log (
    (function (x,y) {return x + y;}) .length
);
// 2

With ES2015 onward, you should avoid using this feature.

Function Topic

  1. JS: Define Function
  2. JS: Functional Programing
  3. JS: Arrow Function
  4. JS: Function Parameters
  5. JS: f Declaration vs Expression
  6. JS: Closure
  7. JS: Function Call, Apply, Bind
  8. JS: Function Argument Default Value
  9. JS: Function Rest Parameters
  10. JS: Function Argument Destructure
  11. JS: Function Object
  12. JS: Function.prototype
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.