TypeScript တွင် အထွေထွေ အမျိုးအစား ကိန်ရှင်များ
ကျွန်ုပ်တို့သည် အထွေထွေ အမျိုးအစား function တစ်ခုကို ဖန်တီးသည့်အခါ၊ TypeScript သည် ၎င်း၏ ကိုယ်ထဲတွင် အမျိုးအစား ကိန်ရှင်များကို မှန်ကန်စွာ အသုံးပြုရန် ကျွန်ုပ်တို့ကို အတင်းအကျပ် ပြုလုပ်သည်။ ထို့ကြောင့်၊ function အတွင်းသို့ ပေးပို့သည့် parameter တစ်ခုချင်းစီ၏ အပြုအမူကို ကျွန်ုပ်တို့ ရရှိနိုင်သည့် အမျိုးအစားအားလုံး၏ ရှုထောင့်မှ စဉ်းစားရန် လိုအပ်သည်။
အထွေထွေ အမျိုးအစား ကိန်ရှင်၏ အရှည်ကို ဆုံးဖြတ်ရန် function တစ်ခုကို ဖန်တီးကြပါစို့။
function myFunc <T> (data: T): T {
console.log(data.length); // အမှား
return data;
}
အမှားသည် ဖြစ်ပေါ်သည်၊ အဘယ်ကြောင့်ဆိုသော် အမျိုးအစားအားလုံးတွင် အရှည်မရှိပါ။ ဥပမာအားဖြင့်၊ boolean တန်ဖိုးများအတွက် ထိုကဲ့သို့သော လုပ်ဆောင်ချက်သည် မဖြစ်နိုင်ပါ။ သို့သော် ကျွန်ုပ်တို့သည် အမျိုးအစားကို ရှင်းလင်းပြီး ၎င်းကို array အဖြစ် သတ်မှတ်ပါက၊ ကုဒ်သည် မှန်ကန်စွာ အလုပ်လုပ်မည်ဖြစ်သည်။ အဘယ်ကြောင့်ဆိုသော် array တိုင်းတွင်၊ ၎င်း၏ အမျိုးအစားက ဘာပဲဖြစ်ဖြစ်၊ အရှည်ရှိသည်။
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
အထွေထွေ အမျိုးအစား array ၏ အစိတ်အပိုင်းအားလုံးကို ထပ်တလဲလဲဖတ်ပြီး console တွင် ထုတ်ပြရန် function တစ်ခုကို ရေးပါ။