Skip to main content
Practice Problems

What is arguments pseudo-Array in JavaScript

arguments is a built-in object available inside functions, containing all arguments passed to the function, regardless of whether they were explicitly declared in the signature.

It exists only in regular (not arrow) functions and allows working with a variable number of arguments.


Usage Example

javascript
function sum() { console.log(arguments); // Pseudo-array let total = 0; for (let i = 0; i < arguments.length; i++) { total += arguments[i]; } return total; } console.log(sum(1, 2, 3)); // 6

arguments Object Features

CharacteristicValue
Typeobject
Has lengthyes
Indexinglike array ([0], [1])
Array methodsno (needs conversion)
Only for functionarrow functions don't have arguments

Why is it a Pseudo-array?

It's similar to an array because:

  • has indices
  • has length

But:

  • it's not a real Array
  • doesn't have map, forEach, filter methods, etc.

Converting to Array

javascript
const args = Array.from(arguments); // or const args2 = [...arguments]; // only works in regular function

In Arrow Functions

javascript
const foo = () => { console.log(arguments); // ❌ ReferenceError }; foo(1, 2, 3);

arguments doesn't exist in arrow functions because arrow functions don't create their own context.

Modern Alternative — Rest Parameters

javascript
function sum(...args) { return args.reduce((acc, curr) => acc + curr, 0); }

Important:

The arguments object is outdated practice. In modern projects use rest parameters (...args).

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.

Finished reading?
Practice Problems