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