Параметр arguments функции JavaScript

У функций есть неявный параметр arguments который содержит все аргументы передаваемые функции, даже если для них не определены параметры.

Параметр arguments

Поддерживает свойство length (покажет количество аргументов) и возможность обращаться к содержимым аргументам по индексу (arguments[0] - первый аргумент). function arg(){ console.log(arguments.length, arguments[0], arguments[1]) } arg('первый аргумент', 'второй аргумент') //2 "первый аргумент" "второй аргумент"

Изменение любого из этих параметров приведет к изменению значения соостветствующего ему параметра. function nus(gg){ //if(typeof arguments ==='object'){console.log('true')}//true console.log(gg, arguments[0])//bye bye //присвоение значение параметру gg //изменит значение соответствующего ему параметра arguments[0] gg='next' console.log(arguments[0]) //next //изменение значения параметра arguments[0] изменит значение соответствующего ему параметра gg arguments[0]='end' console.log(gg)//end } nus('bye')

Строгий режим 'use strict' запрещает взаимосвязанное изменение параметров. function us(gg){ 'use strict' console.log(gg, arguments[0])//srict srict gg='next' console.log(arguments[0])//srict arguments[0]='end' console.log(gg)//srict console.log(gg, arguments[0])//next end } us('srict')