Skip to main content
Практика завдань

Що таке псевдомасив arguments у JavaScript

arguments — це вбудований об'єкт, доступний всередині функцій, який містить всі аргументи, передані функції, незалежно від того, чи були вони явно оголошені в сигнатурі.

Він існує тільки в звичайних (не стрілкових) функціях і дозволяє працювати з змінною кількістю аргументів.


Приклад використання

javascript
function sum() { console.log(arguments); // Псевдомасив 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
Має довжинутак
Індексаціяяк масив ([0], [1])
Методи масивуні (потрібна конверсія)
Тільки для функційстрілкові функції не мають arguments

Чому це псевдомасив?

Він подібний до масиву, тому що:

  • має індекси
  • має length

Але:

  • це не справжній Array
  • не має методів map, forEach, filter тощо.

Конвертація в масив

javascript
const args = Array.from(arguments); // або const args2 = [...arguments]; // працює тільки в звичайній функції

У стрілкових функціях

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

arguments не існує в стрілкових функціях, оскільки стрілкові функції не створюють свій власний контекст.

Сучасна альтернатива — Параметри решти

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

Важливо:

Об'єкт arguments є застарілою практикою. У сучасних проектах використовуйте параметри решти (...args).

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань