Utility Type များကို မိတ်ဆက်ခြင်း:Type ပြောင်းလဲခြင်း ကိရိယာများ
ဘာလို့ လိုအပ်တာလဲ: Type ပုံစံ ကွဲပြားမှုများ လိုအပ်လာခြင်း
Section titled “ဘာလို့ လိုအပ်တာလဲ: Type ပုံစံ ကွဲပြားမှုများ လိုအပ်လာခြင်း”အရင် Lessons တွေမှာ Code တွေကို Flexible (ပြောင်းလဲ အသုံးပြုလို့ရအောင်) ရေးတာ သင်ခဲ့ပြီးပြီနော်။ အခု Type တွေ ကိုယ်တိုင်ကို Flexible ဖြစ်အောင် လုပ်တာ ဆက်ပြောရအောင်။
တစ်ခါတလေ ကျွန်တော်တို့က User လိုမျိုး အဓိက Type တစ်ခု သတ်မှတ်ထားတယ်။ ဒါပေမယ့် အလုပ် မတူတာတွေအတွက် ဒီ User Type ကို နည်းနည်းစီ ပြောင်းသုံးဖို့ လိုလာတတ်တယ်။
- User ရဲ့ အချက်အလက် တချို့ ကိုပဲ ပြင်ချင်ရင် Type တစ်မျိုး။
- User ရဲ့ အချက်အလက် အားလုံး လိုချင်ရင် Type တစ်မျိုး။
- User Configuration object ကို ပြင်လို့ မရအောင် လုပ်ချင်ရင် Type တစ်မျိုး။
- User အချက်အလက် နည်းနည်းလေး ပဲ မြင်ချင်ရင် Type တစ်မျိုး။
ဒီလို အခြေအနေ တစ်ခုချင်းစီအတွက် Type အသစ်တွေ လိုက်လိုက်ပြီး သတ်မှတ်လို့ ရတယ်။ ဥပမာ UserForUpdate, FullUser, ReadonlyUserConfig လိုမျိုးပေါ့။ ဒါပေမယ့် Type များလာရင် ရေးရတာ အရမ်းများတယ်။ မှားဖို့ လွယ်တယ်။ User Type မှာ တစ်ခုခု ပြောင်းရင် တခြားလုပ်ထားတဲ့ Type တွေပါ လိုက်ပြင်ဖို့ မေ့နိုင်တယ်။ သပ်ရပ်လှပမှု မရှိဘူး။
ဘာလဲဆိုတော့: Utility Type တွေ ရောက်လာခြင်း!
Section titled “ဘာလဲဆိုတော့: Utility Type တွေ ရောက်လာခြင်း!”ဒီနေရာမှာပဲ Utility Types တွေက ကူညီဖို့ ရောက်လာတာ။ သူတို့က Type တွေအတွက် အသင့်လုပ်ထားတဲ့ ကိရိယာတွေ လိုပဲ။ သူတို့က ရှိပြီးသား Type (ဥပမာ User Type) ကို ယူလိုက်တယ်။ ပြီးတော့ ပြောင်းလဲထားတဲ့ Type အသစ်တစ်ခုကို ပြန်ထုတ်ပေးတယ်။
ဥပမာ နှိုင်းယှဉ်ချက်: “သင့်မှာ သစ်သားတုံး (သင့်ရဲ့ အဓိက Type) လေး တစ်တုံး ရှိတယ်လို့ စိတ်ကူးကြည့်။ Utility Types တွေက သင့် လက်သမားဖိုထဲက ကိရိယာတွေ လိုပဲ။”
- သစ်သားတုံးထဲက အပိုင်းလေးတွေ ရွေးထုတ်ဖို့ (Pick) ဒါမှမဟုတ် ချန်ထားခဲ့ဖို့ (Omit) လွှ လိုမျိုး။
- သစ်သားတုံးရဲ့ အနားအားလုံးကို ပါချင်မှ ပါအောင် (Partial) လုပ်ဖို့ စက္ကူပွတ်စက် လိုမျိုး။
- သစ်သားတုံးကို ပြင်လို့ မရအောင် (Readonly) လုပ်ဖို့ အရောင်တင်ဆီ လိုမျိုး။
ကောင်းကျိုးများ: ဘာလို့ သုံးသင့်တာလဲ?
Section titled “ကောင်းကျိုးများ: ဘာလို့ သုံးသင့်တာလဲ?”- DRY (Code မထပ်အောင် ရေးခြင်း): အဓိက Type ကို တစ်ခါပဲ ရေးပြီး သူ့ကနေ လိုအပ်တဲ့ Type မျိုးစုံကို အလွယ်တကူ ထုတ်ယူနိုင်တယ်။
- ထိန်းသိမ်းရလွယ်ခြင်း: အဓိက Type ကို ပြင်လိုက်ရင် သူ့ကနေ လုပ်ထားတဲ့ Type တွေကပါ အလိုအလျောက် လိုက်ပြောင်းနိုင်တယ်။
- ရှင်းလင်းပြတ်သားမှု: Type ရဲ့ နာမည် ကြည့်တာနဲ့ သူက ဘာလဲ သိနိုင်တယ် (ဥပမာ Partial<User> ဆိုတာ “User Type ရဲ့ အချက်အလက် တချို့ပါတဲ့ Type” လို့ ချက်ချင်း သိစေတယ်)။
- Type Safety: Type တွေကို ပြောင်းလဲ လုပ်ဆောင်တာတွေက Type မှန်ကန်စိတ်ချရတယ်။
- အသင့်ပါပြီးသား: TypeScript မှာ ပါပြီးသား။ ဘာမှ ထပ် Install လုပ်စရာ မလိုဘူး။