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