JavaScript'те объекттерди шилтеме аркылуу өткөрүү
Массивдер жана объекттер башка примитивдүү маалымат түрлөрүнөн бир аз айырмаланат. Айырмасы мында - массивди сактоочу өзгөрмө, чындыгында аны өзүнө камтыбайт, алар жөн эле шилтемелейт ага.
Практикада бул мынаны билдирет: объектти башка өзгөрмөгө жазууда, экөө тең өзгөрмөлөр бир эле объектке шилтемелешет. Келгиле, практикада сынап көрөлү. Бизде төмөнкүдөй объект бар деп коёлу:
javascriptlet obj1 = {a: 1, b: 2, c: 3};
Аны бир өзгөрмөдөн экинчисине теңдейли:
javascriptlet obj2 = obj1;
Өзгөрмөлөрдүн бирин өзгөртөлү:
javascriptobj2.a = '!';
Натыйжада өзгөрүүлөр башка өзгөрмөдө да көрүнөт:
javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
Задание 1
Кодду иштетпестен, консолго эмне чыгарыларын аныктагыла:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Задание 2
Кодду иштетпестен, консолго эмне чыгарыларын аныктагыла:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Задание 3
Кодду иштетпестен, консолго эмне чыгарыларын аныктагыла:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);