Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: объекты, функция

Что будет, если в функции изменить параметры, и что произойдет с ними?

Этот вопрос проверяет, как изменение параметров внутри функции влияет на их значения и какие особенности существуют при работе с параметрами в JavaScript.

Короткий ответ

Если изменить параметры внутри функции, их значения будут изменены только внутри этой функции. При этом, если параметр является примитивом (число, строка, булевое значение), изменение затронет только локальную копию, а если параметр — объект, изменения отразятся на исходном объекте, потому что объекты передаются по ссылке.

Длинный ответ

В JavaScript параметры функции могут вести себя по-разному в зависимости от их типа — примитивный или ссылочный.

  1. Примитивные типы (числа, строки, булевые значения): Передаются по значению, то есть внутри функции создается копия значения, и любые изменения параметра затрагивают только эту копию. Пример:

    function modifyPrimitive(num) {
    	num = num * 2;    
    	console.log(num); // Локально изменённое значение 
    } 
    let x = 5; 
    modifyPrimitive(x); // 10 
    console.log(x); // 5, исходное значение не изменилось
  2. Ссылочные типы (объекты, массивы): Передаются по ссылке, что означает, что при изменении параметра внутри функции изменяется сам объект, на который эта ссылка указывает. Пример:

    function modifyObject(obj) {
    	obj.name = 'Changed'; 
    } 
    let person = { name: 'Alice' }; 
    modifyObject(person); 
    console.log(person.name); // 'Changed', объект изменён

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

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#объекты

#функция

Подпишись на React Developer в телеграм