JavaScript ရှိ Object များကို Reference အတိုင်းပေးပို့ခြင်း
Array များနှင့် Object များသည် အခြား primitive data type များနှင့် အနည်းငယ်ကွဲပြားပါသည်။ ကွာခြားချက်မှာ Array တစ်ခုကို သိမ်းဆည်းထားသော variable သည် တကယ်တော့ ၎င်း Array ကို မပါဝင်ဘဲ ၎င်းကို ရည်ညွှန်း (reference) လုပ်နေခြင်းသာဖြစ်သည်။
လက်တွေ့အရ ဆိုလျှင် Object တစ်ခုကို အခြား variable တစ်ခုထဲသို့ ရေးသားသည့်အခါ၊ Variable နှစ်ခုစလုံးသည် တူညီသော Object တစ်ခုတည်းကို ရည်ညွှန်းနေမည်ဖြစ်သည်။ လက်တွေ့စမ်းကြည့်ကြပါစို့။ ကျွန်ုပ်တို့တွင် အောက်ပါ Object ရှိသည်ဆိုပါစို့။
javascriptlet obj1 = {a: 1, b: 2, c: 3};
Variable တစ်ခုမှ အခြား variable တစ်ခုသို့ ၎င်းကို ပေးကမ်းပါစို့။
javascriptlet obj2 = obj1;
Variable တစ်ခုကို ပြောင်းလဲပါစို့။
javascriptobj2.a = '!';
ရလဒ်အနေဖြင့် ပြောင်းလဲမှုများသည် အခြား variable တွင်လည်း မြင်တွေ့ရမည်ဖြစ်သည်။
javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို ဆုံးဖြတ်ပါ။
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို ဆုံးဖြတ်ပါ။
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
ကုဒ်ကို မစတင်မီ၊ console တွင် ဘာထွက်လာမည်ကို ဆုံးဖြတ်ပါ။
javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);