JavaScript ရှိ rest operator
ဤသင်ခန်းစာကို ရှင်းလင်းချက်အနည်းငယ်ဖြင့် စတင်ပါမည်။
ဤအခန်းကဏ္ဍရှိ ယခင်သင်ခန်းစာများအားလုံးတွင်
... operator အကြောင်း အပြည့်အစုံ မပြောပြခဲ့ပါ။
တကယ်တော့ ဤ operator သည် ကုဒ်အတွင်းရှိ နေရာအလိုက် spread operator (သို့) rest operator ဟု ခေါ်ဆိုနိုင်ပါသည်။
သင်သိပြီးဖြစ်သည့်အတိုင်း spread operator သည်
array (သို့) string ၏ ရှေ့တွင်ရှိတဲ့အခါ ၎င်းတို့ကို
တစ်ခုချင်းစီသော တန်ဖိုးများအဖြစ် ခွဲထုတ်ပေးပါသည်။
rest operator သည် ... ပုံစံတူ syntax ရှိသော်လည်း
တစ်ခြားအရာအတွက် ရည်ရွယ်ပါသည်။
ဘာအတွက်လဲဆိုတာ အခုပဲ စစ်ဆေးကြည့်ပါမယ်။ parameter နှစ်ခုလက်ခံသည့် function တစ်ခု ရှိတယ်ဆိုပါစို့။
function func(a, b) {
console.log(a);
console.log(b);
}
function ထဲသို့ parameter အပိုများ ထည့်သွင်းလိုက်လျှင် error တက်မည်မဟုတ်ကြောင်း သင်သိပြီးဖြစ်မည်။
func(1, 2, 3, 4, 5);
rest operator သည် parameter အပိုအားလုံးကို
array ပုံစံဖြင့် ရယူနိုင်စေပါသည်။
ထိုသို့ပြုလုပ်ရန် function ထဲတွင် parameter တစ်ခုထပ်မံထည့်ပါ (နောက်ဆုံးမှာသာထားရမည်)။
ထို parameter ၏ ရှေ့တွင် 3 မှတ်တို့ထားရပါမည်။
function func(a, b, ...rest) {
}
ဤမှတ် (၃) ချက်သည် rest operator ဖြစ်ပြီး
variable အမည်ကို မည်သည့်နာမည်ပေးနိုင်သော်လည်း
ပုံမှန်အားဖြင့် ၎င်းကို rest ဟုပင်ခေါ်လေ့ရှိပါသည်။
ကျွန်ုပ်တို့၏ function ကို parameter အရေအတွက် ပိုမိုများပြားစွာဖြင့်
ခေါ်ယူကြည့်ပြီး a နှင့် b parameter များထဲသို့
ဘာတွေဝင်သွားပြီး ဘာတွေက rest ထဲတွင် ကျန်ရှိနေသည်ကို ကြည့်ရအောင်။
func(1, 2, 3, 4, 5);
function func(a, b, ...rest) {
console.log(a); // 1 ကို ပြသမည်
console.log(b); // 2 ကို ပြသမည်
console.log(rest); // [3, 4, 5] ကို ပြသမည်
}
Parameter အပိုမရှိပါက rest variable ထဲတွင်
array အလွတ်တစ်ခု ရေးမှတ်သွားမည်။
func(1, 2);
function func(a, b, ...rest) {
console.log(a); // 1 ကို ပြသမည်
console.log(b); // 2 ကို ပြသမည်
console.log(rest); // [] ကို ပြသမည်
}
Function ထဲတွင် parameter လုံးဝမရှိခြင်းလည်း ဖြစ်နိုင်သော်လည်း
၎င်းထဲသို့ rest ထည့်သွင်းနိုင်ပါသည်။
ထိုသို့ဆိုလျှင် function ကို parameter မည်မျှပင်ရှိသည်ဖြစ်စေ
ခေါ်ယူနိုင်ပြီး ၎င်းအားလုံးသည် rest array ထဲသို့ ရောက်ရှိသွားမည်ဖြစ်သည်။
function func(...rest) {
console.log(rest);
}