unknown, never & Exhaustive Checking ကို annotation syntax အဖြစ်သာမမြင်ဘဲ JavaScript runtime value များ၏ဖြစ်နိုင်သော set, control-flow narrowing, nullability နဲ့ exhaustive checking ကိုဖော်ပြသော model အဖြစ်နားလည်ပါ။ Inference ကိုဦးစားပေးပြီး unsafe input ကို unknown မှစပါ။
ပိုပြီးနားလည်ထားရမယ့် အချက်
unknown, never & Exhaustive Checking ကို annotation syntax အဖြစ်သာမမြင်ဘဲ JavaScript runtime value များ၏ဖြစ်နိုင်သော set, control-flow narrowing, nullability နဲ့ exhaustive checking ကိုဖော်ပြသော model အဖြစ်နားလည်ပါ။ Inference ကိုဦးစားပေးပြီး unsafe input ကို unknown မှစပါ။
လက်တွေ့မှာ ဘယ်လိုအသုံးချမလဲ
unknown, never & Exhaustive Checking example ကို strict mode ဖြင့် type-check လုပ်ပြီး valid, null/undefined, malformed API data, union variant အသစ်နဲ့ module boundary cases စမ်းပါ။ Type error ကို assertion သို့ any ဖြင့်ပိတ်မထားဘဲ contract သို့ validation ကိုပြင်ပါ။
ဒီသင်ခန်းစာပြီးရင်
type Result = { kind: 'ok'; value: number } | { kind: 'error'; message: string };
function show(result: Result): string {
switch (result.kind) {
case 'ok': return String(result.value);
case 'error': return result.message;
default: {
const impossible: never = result;
return impossible;
}
}
}Unhandled variant အသစ်ထည့်လျှင် compile-time error ဖြစ်မည်။ကိုယ်တိုင်စမ်းကြည့်ရန်
unknown, never & Exhaustive Checking example ကို strict mode ဖြင့် type-check လုပ်ပြီး valid, null/undefined, malformed API data, union variant အသစ်နဲ့ module boundary cases စမ်းပါ။ Type error ကို assertion သို့ any ဖြင့်ပိတ်မထားဘဲ contract သို့ validation ကိုပြင်ပါ။
Type Safety သတိပေးချက်
TypeScript compile အောင်ရုံဖြင့် API data နဲ့ runtime behavior မှန်ပြီဟုယူဆခြင်း။
Type Compatibility — TypeScript