TypeScript Predicate Guard
Last updated
Last updated
"is" Type Predicates ကို type narrowing လုပ်ဖို့ အသုံးပြုပါတယ်။
function တစ်ခုက parameter တစ်ခုကို လက်ခံပြီး Narrowing လုပ်ဖို့အတွက် ကိုယ်ပြောင်းလဲချင်တဲ့ Target Type တစ်ခုကို သတ်မှတ်ပေးလိုက်တာဖြစ်ပါတယ် ။
ရေးသားနည်း Syntax အရ (param: type) => param is TargetType ;
ဖြစ်ပေ့မယ်
အမှန်တကယ် Return type က Boolean ပဲ ပြန်ရပါမယ် ။
နမူနာ Code မှာ checkIsAdmin
ဆိုတဲ့ function ရှိပါတယ် ။
ရည်ရွယ်ချက်က checkIsAdmin ကို ခေါ်လိုက်တာနဲ့ လက်ခံလိုက်တဲ့ user parameter အခြေအနေက true ဖြစ်ခဲ့ရင် သူ့ရဲ့ Type
ကို AdminUser type အဖြစ်ပြောင်းပေးလိုက်မှာပါ ။
actionForAdmin
မှာ လက်ခံထားတဲ့ user parameter က အစမှာ AdminUser (သို့မဟုတ် | ) Normal User ပါ ။
if ( checkIsAdmin(user) ) block အတွင်းမှာ user ကို mouse ဖြင့် ထောက်ပြီး ကြည့်ကြည့်တဲ့အခါ AdminUser type အဖြစ် Assertion လုပ်သွားမှာဖြစ်ပါတယ် ။