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.

JS Function

  1. Define Function
  2. Arrow Function ⭐
  3. Function Params
  4. “arguments” Object
  5. Rest Params ⭐
  6. Arg Default Value ⭐
  7. Arg Destructure ⭐
  8. f Declaration vs Expression
  9. Closure
  10. f call apply bind
  11. Functional Programing
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

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

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS in Depth
  4. JS Reference
  5. DOM
  6. SVG
  7. Web Dev Blog