Как передаются аргументы функций: по значению или по ссылке?
Уровень: Junior
Ответ
В JavaScript все аргументы передаются по значению. Однако надо учитывать, что в случае примитивов передаётся само значение, а в случае объектов – передаётся значение, являющееся ссылкой на объект. То есть, если функция получает объект в качестве аргумента, внутри функции эта переменная ссылается на тот же объект. Изменяя свойства объекта внутри функции, мы изменяем исходный объект (так как передана копия ссылки). Но переназначение самого аргумента-объекта внутри функции не повлияет на оригинал.