Њам кардани объектњо ба воситаи истинод дар JavaScript
Массивњо ва объектњо каме аз дигар намудњои маълумоти примитивӣ фарқ мекунанд. Фарқ дар он аст, ки таѓйирёбанда, ки массивро нигоҳ медорад, дар асл онро дар бар нагирифтааст, балки танҳо истнод медињад ба он.
Дар амал ин маънои онро дорад, ки вақте объект ба таѓйирёбандаи дигар сабт карда мешавад, ҳарду таѓйирёбанда ба як объекти ягона истодод хоҳанд кард. Биёед дар амал санѓидем. Бигзор мо объекти зеринро дошта бошем:
let obj1 = {a: 1, b: 2, c: 3};
Онро аз як таѓйирёбанда ба дигараш њисоб кунем:
let obj2 = obj1;
Яке аз таѓйирёбандањоро таѓйир дињем:
obj2.a = '!';
Дар натиља таѓйирињо дар таѓйирёбандаи дигар низ дида мешаванд:
console.log(obj1); // {a: '!', b: 2, c: 3}
Бе иљро кардани код, муайян кунед, ки чї дар консол чоп карда мешавад:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Бе иљро кардани код, муайян кунед, ки чї дар консол чоп карда мешавад:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Бе иљро кардани код, муайян кунед, ки чї дар консол чоп карда мешавад:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);