Objektide edastamine viidete kaudu JavaScriptis
Massiivid ja objektid erinevad mõnevõrra teistest primitiivsetest andmetüüpidest. Erinevus seisneb selles, et muutuja, mis salvestab massiivi, tegelikult ei sisalda seda, vaid lihtsalt viitab sellele.
Praktikas tähendab see, et objekti teise muutuja sisse panemisel viitavad mõlemad muutujad samale objektile. Proovime seda praktikas. Olgu meil järgmine objekt:
javascriptlet obj1 = {a: 1, b: 2, c: 3};
Paneme selle ühest muutujast teise:
javascriptlet obj2 = obj1;
Muudame üht muutujat:
javascriptobj2.a = '!';
Tulemusena on muutused nähtavad ka teises muutujas:
javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
Задание 1
Koodi käivitamata määrake, mis prinditakse konsooli:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
Задание 2
Koodi käivitamata määrake, mis prinditakse konsooli:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
Задание 3
Koodi käivitamata määrake, mis prinditakse konsooli:
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);