Параметри завжди передаються за значенням, але в змінних, що представляють об'єкти, записані посилання на об'єкти. Тому, коли в функцію передають об'єкт і змінюють його властивість, ця зміна зберігається в об'єкті при виході з функції.
function changeStuff(a, b, c)
{
a = a * 10;
b.item = "changed";
c = {item: "changed"};
}
var num = 10;
var obj1 = {item: "unchanged"};
var obj2 = {item: "unchanged"};
changeStuff(num, obj1, obj2);
console.log(num);
console.log(obj1.item);
console.log(obj2.item);
В результаті виникає відчуття того, що параметри функції передаються за посиланням. Але якщо змінити значення змінної, що представляє об'єкт, ця зміна не вплине на об'єкти, що знаходяться за межами функції.
___
Шановні, будемо дуже вам вдячні, якщо дасте буст нашому каналу
https://t.me/javascriptuk?boost — це допоможе йому опинитися вище у пошуковій системі. Дякуємо! ❤️
#practice //
Архів книг //
JS