логотип PurpleSchool
логотип PurpleSchool

Объект arguments в JavaScript

Автор

Дмитрий Нечаев

Объект arguments в JavaScript — это встроенный объект, который представляет собой массивоподобный объект, содержащий все аргументы, переданные в функцию при её вызове. Хотя использование arguments считается устаревшим, его всё ещё можно встретить в некоторых кодовых базах, и важно понимать его работу.

Доступ к аргументам функции

Внутри любой функции JavaScript можно использовать объект arguments для доступа ко всем переданным аргументам, включая те, которые не были объявлены в списке параметров функции.

function example() {
  console.log(arguments); // Выведет объект arguments
}

example(1, "two", true); // Вызываем функцию с различными аргументами

Свойства объекта arguments

Объект arguments похож на массив, но на самом деле является массивоподобным объектом. Он имеет свойство length, указывающее на количество переданных аргументов, и элементы, доступные по индексу.

function sum() {
  let result = 0;
  for (let i = 0; i < arguments.length; i++) {
    result += arguments[i];
  }
  return result;
}

console.log(sum(1, 2, 3, 4, 5)); // Выведет 15

Особенности объекта arguments

Одной из особенностей объекта arguments является то, что он не является полноценным массивом. Например, у него нет методов массивов, таких как forEach, map, filter и т. д. Однако его можно преобразовать в настоящий массив с помощью метода Array.from() или оператора распространения (...).

function example() {
  const argsArray = Array.from(arguments);
  console.log(argsArray); // Выведет массив всех переданных аргументов
}

example(1, 2, 3); // Вызываем функцию с аргументами

Совместное использование arguments с остаточными параметрами

Можно использовать объект arguments вместе с остаточными параметрами (rest parameters) для более гибкого и удобного получения всех переданных аргументов.

function example(...restParams) {
  console.log(restParams); // Выведет массив всех переданных аргументов
}

example(1, 2, 3); // Вызываем функцию с аргументами

Заключение

Объект arguments является устаревшим, но всё ещё используемым способом получения всех значений, переданных в функцию при её вызове. Он может быть полезен в некоторых случаях, особенно когда невозможно заранее знать количество передаваемых аргументов. Однако для новых проектов рекомендуется использовать остаточные параметры (rest parameters), которые предоставляют более удобный и гибкий способ работы с аргументами функции.

Стрелочка влевоКлючевое слово return в JavaScriptФункции в JavaScript - параметры, объявление, возврат и переменныеСтрелочка вправо

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний