TypeScript Annotation vs Inference

Annotation vs Inference ကို အလွယ်ရှင်းပြရရင်

  • Type Annotation 👉 Type ကို manually သတ်မှတ် ခြင်း

  • Type Inference 👉 Type ကို TypeScript က auto ယူဆခြင်း

တို့ပဲ ဖြစ်ပါတယ် ။

TypeScript Basic Syntax

အခြေခံအရ ( : ) column ကိုအသုံးပြုပြီး အနောက်မှာ type ကိုသတ်မှတ်ပါတယ် ။

TypeScript Annotation

Type ကို manually သတ်မှတ်ခြင်း code ကို လေ့လာကြည့်ကြပါမယ် ။

let myName: string = "LMP";

let age: number = 28;

let isStudent: boolean = true;

Programmer က Type ကို ကိုယ်တိုင်စီမံရေးသားတာ ဖြစ်ပါတယ် myName variable ထဲကို string Type ပဲထည့်ပါမယ်လို့ ကြေငြာထားတာဖြစ်ပါတယ် ။ age ထဲကို number Type ဖြစ်ပြီး ၊ isStudent ထဲမှာ boolean Type အဖြစ်နဲ့ သုံးထားပါတယ် ။

Type Annotation က variable, function parameter, return type, class property တွေမှာ သတ်မှတ်နိုင်ပါတယ် ။ နောက်ပိုင်းအခန်းတွေမှာ ဆက်ပြီး လေ့လာ အသုံးပြုသွားမှာပါ ။

TypeScript Inference

TypeScript က သင့်တော်တဲ့ Type ကို အလိုအလျှောက် အသုံးပြုပေးတာကို Inference လို့ခေါ်ပါတယ် ။

let age = 25;  // `age` ကို number type လို့ သတ်မှတ်မယ်။

let name = "John";  // `name` ကို string type လို့ သတ်မှတ်မယ်။

Type ကို ကိုယ်တိုင် (Manual) သတ်မှတ် ပေးစရာမလိုပါဘူး ။ age variable ထဲကို တန်ဖိုး 25 ထည့်လိုက်တဲ့အခါ TypeScript က အလိုအလောက် number type ဖြစ်သတ်လို့ သတ်မှတ်ပေးလိုက်ပါတယ် ။

စာဖတ်သူက age variable ကို Mouse နဲ့ ခဏကြာကြာလေး ငြိမ်ထားရင် သူ့ရဲ့ Type ကို မြင်နိုင်ပါတယ် ။

နောက်တစ်လိုင်းမှာ age = 'string'; string တန်ဖိုးထည့်လိုက်ရင် TypeScript server ကနေ Error Feedback ပြန်ပေးပါလိမ့်မယ် ။

ဒါဆို TypeScript ဘယ်လိုအလုပ်လုပ်သလဲ Inference နဲ့ Annotation ဆိုတာဘာလဲ အခြေခံအားဖြင့် သိသွားပါပြီ ။

Inference နဲ့ Annotation ကို ဘယ်အချိန်မှာ ဘယ်ဟာသုံးရမှာလဲ ?

ပုံမှန်အားဖြင့် Primitive Data Type တွေကိုသုံးတဲ့အခါ Inference (အလိုအလျောက် သတ်မှတ်ပေးခြင်း) ကိုသုံးလေ့ရှိပါတယ် ။

Primitive Types (7 မျိုး) - string, number, boolean, bigint, symbol, null, undefined တို့ဖြစ်ပါတယ် ။

အခြား Complex ဖြစ်တဲ့ Object Type တွေကိုတော့ Annotation သုံးလေ့ရှိကြပါတယ်

Last updated