Если функция принимает объект и изменяет его свойства, то эти изменения будут видны и снаружи, так как объекты передаются по ссылке.
Для каждого из трёх фрагментов JavaScript-кода определите, что будет выведено в консоль, и объясните различия в поведении примитивов, объектов и переназначения ссылок.
Если функция принимает объект и изменяет его свойства, то эти изменения будут видны и снаружи, так как объекты передаются по ссылке.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если функция принимает объект и изменяет его свойства, то эти изменения будут видны и снаружи, так как объекты передаются по ссылке.
Пример:
const obj = { value: 1 };
function modify(o) {
o.value = 2;
console.log("inside function:", o.value); // 2
}
console.log("before function:", obj.value); // 1
modify(obj);
console.log("after function:", obj.value); // 2
Вывод будет:
before function: 1
inside function: 2
after function: 2
Это происходит потому, что obj и параметр o указывают на один и тот же объект в памяти. Изменения внутри функции отражаются на исходном объекте.