FrontendDeveloper.in

JavaScript question detail

How to find the number of parameters expected by a function?

The function's object has a length property which tells you how many formal parameters expected by a function. This is a static value defined by the function, not the number of arguments the function is called with(arguments.length). The basic usage of length propery is,

function multiply(x, y) {
return x * y;
}

function sum(a, b, c) {
return a + b + c;
}

console.log(multiply.length); //2
console.log(sum.length); //3

But there are few important rules which needs to be noted while using length property.

  1. Default values: Only the parameters which exists before a default value are considered.
function sum(a, b = 2, c = 3) {
return a + b + c;
}
console.log(sum.length); // 1
  1. Rest params: The rest parameters are excluded with in length property.
function sum(a, b, ...moreArgs) {
let total = a + b;
for (const arg of moreArgs) {
total += arg;
}
return total;
}
console.log(sum.length); // 2
  1. Destructuring patterns: Each destructuring pattern counted as a single parameter.
function func([a, b], { x, y }) {
console.log(a + b, x, y);
}

console.log(func.length); // 2

Note: The Function constructor is itself a function object and it has a length property of 1.

Back to all JavaScript questions
Get LinkedIn Premium at Rs 399