Oordrag van voorwerpe deur verwysing in JavaScript
Skikkings en voorwerpe verskil effens van die ander primitiewe datatipes. Die verskil is dat 'n veranderlike wat 'n skikking stoor, eintlik nie die skikking bevat nie, maar bloot verwys daarna.
In die praktyk beteken dit dat wanneer 'n voorwerp aan 'n ander veranderlike toegeken word, sal albei veranderlikes verwys na dieselfde voorwerp. Kom ons probeer dit in die praktyk. Laat ons die volgende voorwerp hê:
let obj1 = {a: 1, b: 2, c: 3};
Laat ons dit van een veranderlike na 'n ander toeken:
let obj2 = obj1;
Laat ons een van die veranderlikes verander:
obj2.a = '!';
As gevolg hiervan sal die veranderinge ook in die ander veranderlike sigbaar wees:
console.log(obj1); // {a: '!', b: 2, c: 3}
Sonder om die kode uit te voer, bepaal wat uitgevoer sal word in die konsole:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Sonder om die kode uit te voer, bepaal wat uitgevoer sal word in die konsole:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Sonder om die kode uit te voer, bepaal wat uitgevoer sal word in die konsole:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);