JavaScript ရှိ spread operator
ES6 တွင် ... ဟုခေါ်သော အထူး operator
တစ်ခု ပေါ်လာပြီး ၎င်းကို spread ဟုခေါ်သည်။
Spread operator သည် array တစ်ခုရှေ့တွင်ရပ်လျှင်၊ ထို array ကို တန်ဖိုးများအသီးသီးခွဲထုတ်ပေးပြီး၊ array ကို ခေါ်ရန်လိုအပ်သော parameter အစုအဝေးအဖြစ် ပြောင်းလဲပေးသည်။
သေချာပေါက် နားမလည်နိုင်သောအသံဖြစ်နေမည်၊ ထို့ကြောင့်
ရိုးရှင်းသောဥပမာဖြင့် ကြည့်ကြပါစို့။ ကျွန်ုပ်တို့တွင်
parameter 3 ခုလက်ခံပြီး ၎င်းတို့၏ပေါင်းလဒ်ကို
ပြန်ပေးသော function တစ်ခုရှိတယ်ဆိုပါစို့:
function func(num1, num2, num3) {
return num1 + num2 + num3;
}
ကျွန်ုပ်တို့တွင် အခြား element သုံးခုပါသော array တစ်ခုလည်းရှိပါစို့:
let arr = [1, 2, 3];
ထင်ရှားစွာပဲ၊ ကျွန်ုပ်တို့သည် ထို array ကို function ၏ parameter အဖြစ် ဤသို့ပြောင်းပေးလို့မရပါ:
let arr = [1, 2, 3];
func(arr);
အဘယ်ကြောင့်ဆိုသော် ဤကိစ္စတွင် array တစ်ခုလုံးသည် function ၏ ပထမဆုံး parameter ထဲသို့ ရောက်သွားမည်ဖြစ်ပြီး၊ ထို parameter ထဲသို့ ဂဏန်းတစ်ခု ထည့်ပေးရန်လိုအပ်သည် (ပြီးတော့ ကျန် parameter များအတွက်လည်းလိုအပ်သည်)။
သေချာပေါက်၊ အောက်ပါနည်းလမ်းဖြင့် ဆောင်ရွက်နိုင်သည်:
let arr = [1, 2, 3];
func(arr[0], arr[1], arr[2]);
သို့သော် ပိုမိုလွယ်ကူသောလမ်းကြောင်းတစ်ခုလည်းရှိသည် - spread operator ကိုအသုံးပြုခြင်းဖြစ်သည်:
let arr = [1, 2, 3];
func(...arr);
Variable တစ်ခုရှိခြင်းသည် မဖြစ်မနေလိုအပ်ချက်မဟုတ်ပါ - array ပေါ်တွင် တိုက်ရိုက် spread ကိုအသုံးပြုနိုင်သည်:
func(...[1, 2, 3]);
Array တစ်ခုပေးထားသည်:
let arr = [1, 2, 3, 4, 5];
Function တစ်ခုလည်းပေးထားသည်:
function func(num1, num2, num3, num4, num5) {
return num1 + num2 + num3 + num4 + num5;
}
ပေးထားသော function ကိုအသုံးပြု၍ array ၏ element များ၏ ပေါင်းလဒ်ကို ရှာပါ။