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. Define Function
  2. Functional Programing
  3. Arrow Function
  4. Function Parameters
  5. f Declaration vs Expression
  6. Closure
  7. Function Call, Apply, Bind
  8. Function Argument Default Value
  9. Function Rest Parameters
  10. Function Argument Destructure
  11. Function Object
  12. 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.

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS Basics
  4. JS in Depth
  5. JS Reference
  6. DOM
  7. SVG
  8. JS Misc