Sobes.tech
Middle

Zadanie praktyczne dotyczące typów danych referencyjnych: jest obiekt i funkcja, która przyjmuje obiekt i wykonuje na nim manipulacje. Co zostanie wyświetlone w trzech console.log?

sobes.tech AI

Odpowiedź od AI

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

Пример:

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 указывают на один и тот же объект в памяти. Изменения внутри функции отражаются на исходном объекте.