Присвоєння за посиланням і значенням
У JavaScript існують два способи присвоєння значень: за посиланням (зверненням) і за значенням.
Присвоєння за значенням: Це коли змінна отримує копію значення іншої змінної.
Наприклад:
let a = 5;
let b = a; // Присвоєння за значенням
a = 10;
console.log(b); // Виведе: 5 (значення b залишається 5, оскільки це копія значення a)
У цьому випадку b отримує копію значення змінної a. Якщо зміниться значення a, це не вплине на значення b.
Присвоєння за посиланням (зверненням): Це коли змінна отримує посилання на об'єкт (включаючи масиви та об'єкти), а не його копію.
let array1 = [1, 2, 3];
let array2 = array1; // Присвоєння за посиланням
array1.push(4); // метод додавання елемента в масив (буде далі розглядатися)
console.log(array2); // Виведе: [1, 2, 3, 4] (зміни в array1 впливають на array2, оскільки array2 має посилання на той самий об'єкт, що й array1)
У цьому випадку array2 отримує посилання на той самий масив, що й array1. Тому зміни, внесені до array1, відображаються у array2.
Поведінка присвоєння значення за посиланням або за значенням залежить від типу даних, з якими ви працюєте.
Примітивні типи (як числа, рядки, булі, null і undefined) присвоюються за значенням (by value), а складні типи (як об'єкти, масиви) присвоюються за посиланням (by reference).
Last updated