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);