InterviewHubPRO
Section Overview
Q475

Question 475 of 521

Part 8: Modern JavaScript APIs, WeakRef, Proxy & Performance (464 - 521)

91%
JavaScript Internals (521 Qs)•Part 8: Modern JavaScript APIs, WeakRef, Proxy & Performance (464 - 521)

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,

javascript
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.
javascript
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.
javascript
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.
javascript
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.