Sobes.tech
Назад к вопросам
Middle
2

Параметры в функцию передаются по ссылке или по значению?

Компании, где спрашивали
Сбермаркетинг

Ответ от нейросети

sobes.tech AI

В JavaScript параметры в функцию передаются по значению. Однако важно понимать, что для примитивных типов (числа, строки, булевы значения) передается копия значения, а для объектов и массивов — копия ссылки на объект.

Это значит, что если внутри функции изменить свойства объекта, изменения будут видны снаружи, потому что и внутри, и снаружи функция работает с одним и тем же объектом. Но если внутри функции присвоить параметру новый объект, это не повлияет на внешний объект.

Пример:

function modify(obj) {
  obj.prop = 42; // изменит исходный объект
  obj = { prop: 100 }; // присвоение нового объекта локально
}

const myObj = { prop: 1 };
modify(myObj);
console.log(myObj.prop); // 42

Таким образом, параметры передаются по значению, но для объектов это значение — ссылка.