JavaScript Object Parameters
အခြေခံဒေတာအမျိုးအစား (primitives) များနှင့် မတူဘဲ၊ အရာဝတ္ထုများ (objects) ကို reference အတိုင်းပေးပို့ကြသည်။ ဆိုလိုသည်မှာ လုပ်ဆောင်ချက်တစ်ခုအတွင်းရှိ အရာဝတ္ထုတစ်ခုကိုပြောင်းလဲခြင်းသည် ထိုအရာဝတ္ထုသည် လုပ်ဆောင်ချက်အပြင်ဘက်တွင်လည်း ပြောင်းလဲသွားစေမည်ဖြစ်သည်။ ဥပမာကိုကြည့်ပါ:
function func(arr) {
arr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr); // ['!', 2, 3] ကိုဖော်ပြမည်
ကုဒ်ကိုမဖွင့်မီ၊ console တွင် အဘယ်အရာကိုဖော်ပြမည်ကို သတ်မှတ်ပါ:
function func(obj) {
obj.a = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj);
console.log(obj);
ကုဒ်ကိုမဖွင့်မီ၊ console တွင် �ဘယ်အရာကိုဖော်ပြမည်ကို သတ်မှတ်ပါ:
function func(arg) {
arg = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
ကုဒ်ကိုမဖွင့်မီ၊ console တွင် အဘယ်အရာကိုဖော်ပြမည်ကို သတ်မှတ်ပါ:
function func(obj) {
obj = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
ကုဒ်ကိုမဖွင့်မီ၊ console တွင် အဘယ်အရာကိုဖော်ပြမည်ကို သတ်မှတ်ပါ:
function func(arr) {
arr.splice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
ကုဒ်ကိုမဖွင့်မီ၊ console တွင် အဘယ်အရာကိုဖော်ပြမည်ကို သတ်မှတ်ပါ:
function func(arr) {
arr.slice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
ကုဒ်ကိုမဖွင့်မီ၊ console တွင် အဘယ်အရာကိုဖော်ပြမည်ကို သတ်မှတ်ပါ:
function func(arr) {
let newArr = arr;
newArr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);