Встречается на собеседованиях • сегодня

Как передаются в функцию ссылочные типы данных

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

javascript
function updateUser(user) {
  user.age = 30; // изменяет оригинальный объект
}

const person = { name: 'John', age: 25 };
updateUser(person);
console.log(person.age); // 30

Однако сама ссылка передается по значению - если переприсвоить параметр внутри функции, это не повлияет на внешнюю переменную:

javascript
function replaceUser(user) {
  user = { name: 'Alice' }; // не влияет на внешний объект
}

const person = { name: 'Bob' };
replaceUser(person);
console.log(person.name); // 'Bob'

Для массивов поведение аналогичное.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы