TS - Function

Function Type

function type တစ်ခုကို ပြုလုပ်မယ်ဆိုရင် Parameter type ရယ် ၊ Return type ရယ် သတ်မှတ်ပေးဖို့လိုပါတယ် ။ Parameter မပါဘူးဆိုရင် () empty parameter အနေနဲ့ ရေးသားလို့လည်းရပါတယ် ။ အရင်ဆုံး addFn ဆိုတဲ့ ဂဏန်း (၂) လုံးပေါင်းတဲ့ function တစ်ခု တည်ဆောက်ပါမယ် ။

Arrow Function

addFn arrow function အဖြစ် ရေးသာမှာဖြစ်ပါတယ် ။

Parameters အနေနဲ့ a ရယ် b ရယ် အတွက် number type တွေ လက်ခံထားပါတယ် ။

ပြီးတဲ့နောက် : နောက်မှာ Return Type အဖြစ် Number Type ပဲ ပြန်မယ်လို့ ရေးသားလိုက်ပါတယ် ။

အခု ဆို Function တစ်ခု ဘယ်လို ဖန်တီး ရမလဲဆိုတာ လေ့လာခဲ့ပြီး ပါပြီ ။

ဒါဆို Manual သတ်မှတ်ထားတဲ့ Return Type ကို ဖြုတ်ကြည့်လိုက်ပါမယ် ။

Return Type ကို Inference ပုံစံ TypeScript က အလိုအလျောက် သတ်မှတ်ပေးသွားမှာပါ ။

Normal Function

Arrow Function ရေးသားနည်း လေ့လာပြီးသွားတဲ့အခါ ၊ ရိုးရိုး function keyword နဲ့ ရေးသားထားတာကို ကြည့်ကြရအောင် ... ။

= နဲ့ Arrow => မပါတာက လွဲရင် ကျန်တဲ့ပုံစံကတော့ အတူတူပါပဲ ။

အနောက်မှာလည်း Return Type ကို Manual သတ်မှတ်ပေးနိုင်ပါတယ် ။

Return Type ကို ဖြုတ်ကြည့်ပြီး Inference လုပ်သွားတာကိုလည်း အခုလို ရေးသားနိုင်ပါတယ် ။

Custom Type Function

type keyword နဲ့ Custom Function Type ရေးသားနည်းကို လေ့လာသွားကြပါမယ် ။

ထူးခြားချက်အနေနဲ့ : မဟုတ်တော့ပဲ => arrow sign နဲ့ Return Type သတ်မှတ်ပေးတာ သတိပြုရမှာပါ ။ ကျန်တာကတော့ အတူတူပဲဖြစ်ပါတယ် ။ AddFn Type ကို variable ကယူသုံးတဲ့အခါ parameter a နဲ့ b ကို type တွေ ထပ်သတ်မှတ်ပေးစရာမလိုတော့ပါဘူး ။ AddFn Type ထဲမှာတင် a နဲ့ b က number type ဆိုတာကို TypeScript က ကြိုတင်သိနေပြီးသားမို့လို့ ဖြစ်ပါတယ် ။

Function Void Type

Return တန်ဖိုးမရှိတဲ့ function တွေအတွက် void တန်ဖိုး ထည့်သွင်း အသုံးပြုနိုင်ပါတယ် ။

Function Overloading

Function Overloading ဆိုတာက function တစ်ခုပဲ သုံးပြီး အမျိုးမျိုးသော Parameter type တွေ ၊ Return type တွေကို သီးခြားသတ်မှတ်ဖို့ ဖြစ်ပါတယ် ။

  • Different Input Types ကို Handle လုပ်နိုင်ဖို့

  • Code Readability & Maintainability တိုးစေဖို့

  • Function name တစ်ခုပဲ သုံးပြီး အမျိုးမျိုးသော လုပ်ဆောင်မှုများစွာ ဖန်တီးနိုင်ဖို့ ဖြစ်ပါတယ် ။

ဥပမာ အနေနဲ့ Parameters (၂) မျိုးလက်ခံမယ့် add function ကို စဉ်းစားကြည့်ပါမယ် ။ Idea က number နှစ်လုံးထည့်ရင် ပေါင်းပေးမယ် ၊ string နှစ်လုံးထည့်ရင် string (၂) ခုကို concat လုပ်ပေးလိုက်မယ် ။

Function Overloading ကို အသုံးပြုပြီး ရေးသားကြပါမယ် ။

သူ့မှာ အပိုင်း (၂) ပိုင်းပါဝင်ပါတယ် ပထမအပိုင်းက Signature သတ်မှတ်ခြင်း ၊ ဒုတိယ အပိုင်းက Code Implementation လုပ်ခြင်းပဲ ဖြစ်ပါတယ် ။

Signature သတ်မှတ်ခြင်း

အရင်ဆုံး function keyword ကို သုံးပြီး ကိုယ်ဖြစ်စေချင်တဲ့ signature ကို ရေးသားရမှာဖြစ်ပါတယ် ။

1st Signature မှာ parameter a number type ဖြစ်ပြီး parameter b လည်း number ဖြစ်ရင် number type ပဲ return ပြန်ပါမယ် ။

2nd Signature မှာ parameter a string type ဖြစ်ပြီး parameter b လည်း string ဖြစ်ရင် string type ပဲ return ပြန်ပါမယ် ။

ပြီးတဲ့အခါ သတ်မှတ်ထားတဲ့ Signature ရဲ့ Parameter တွေကို Cover ဖြစ်အောင် Code Implementation ပြန်လုပ်ပေးရမှာပါ ။

Implementation ပြုလုပ်ခြင်း

1st Signature မှာ a parameter သည် number type လက်ခံပြီး 2nd Signature အတွက် string type ကိုလက်ခံထားပါတယ် ။ ဒါကြောင့် Implementation Function သည် signature ၂ ခုလုံး cover ဖြစ်အောင် ပထမ Parameter ကို number | string နဲ့ လက်ခံရပါမယ် ။ parameter b အတွက်ကော return type အတွက်ပါ cover ဖြစ်အောင် string | number နဲ့ ပြောင်းလဲပြီး implement လုပ်ထားလိုက်ပါပြီ ။

ပြီးတဲ့အခါကြမှ JavaScript Code Implementation အဆင့်ရောက်ပြီး Logic ကို ရေးသားကြရမှာဖြစ်ပါတယ် ။

Code အပြည့်အစုံကို ရေးသားဖော်ပြလိုက်ပါတယ် ။ ဒီလောက်ဆို Function Overload ကို အခြေခံအားဖြင့် နားလည်သွားပြီလို့ ယူဆပါတယ် ။

Last updated