Thuta Learning
Programming

TypeScript နဲ့ JavaScript ဘာကွာလဲ

JavaScript project အတော်များများမှာ TypeScript ကို တွေ့နေရပြီ ဖြစ်ပါလိမ့်မယ်။ TypeScript ဟာ ဘာအတွက် ရေပန်းစားနေတာလဲ၊ JavaScript နဲ့ တကယ်ဘယ်လို ကွာခြားသလဲ၊ ဘယ်အချိန် ဘယ်ဟာ ရွေးသင့်သလဲဆိုတာ လက်တွေ့ကျကျ ရှင်းပြထားပါတယ်။

Learning Platform Editorial · 7 min · Updated on 8/31/2026

TypeScript နဲ့ JavaScript ဘာကွာလဲ cover illustration

React, Next.js, Node.js project အများစုကို GitHub မှာ ဖွင့်ကြည့်ရင် .js ဖိုင်တွေထက် .ts/.tsx ဖိုင်တွေက ပိုများနေတာ တွေ့ရပါလိမ့်မယ်။ TypeScript ဟာ Microsoft က တီထွင်ထားတဲ့ language ဖြစ်ပြီး JavaScript ကို အခြေခံထားတဲ့ superset တစ်ခုပါ — အသစ်တီထွင်ထားတဲ့ ကွဲပြားတဲ့ language မဟုတ်ဘဲ JavaScript syntax အပေါ်မှာ type-checking layer တစ်ခု ထပ်ပေါင်းထားတာပါ။

အရေးကြီးတဲ့ အချက်တစ်ခုက — Browser (ဒါမှမဟုတ်) Node.js က TypeScript ကို တိုက်ရိုက် run လို့မရပါဘူး။ TypeScript code ကို compiler (tsc) ကနေ plain JavaScript အဖြစ် ပြောင်းပြီးမှ run ရတာပါ။ ဒီ compile step တစ်ခုတည်းက JavaScript နဲ့ TypeScript ရဲ့ အခြေခံ ကွာခြားချက်အားလုံးရဲ့ အရင်းခံဖြစ်ပါတယ်။

Type System ကွာခြားချက်

JavaScript ဟာ dynamically typed language ပါ — variable တစ်ခုရဲ့ type ကို run လုပ်နေတုန်း ဆုံးဖြတ်ပြီး ပြောင်းလဲသွားနိုင်ပါတယ်။ TypeScript ကတော့ statically typed — variable, function parameter, return value တွေရဲ့ type ကို code ရေးနေတုန်း (compile-time) မှာပဲ သတ်မှတ်ပေးထားရပြီး၊ type မကိုက်ညီတဲ့ code ကို run မခံခင် compiler ကနေ error ထုတ်ပြပါတယ်။ ဒီအချက်တစ်ခုတည်းက အောက်က ကွာခြားချက်တွေအားလုံးကို ဖြစ်ပေါ်စေတာပါ။

အချက်JavaScriptTypeScript
Type checkingDynamic — run-time မှာသာ သိရStatic — compile-time မှာ သိရ
Run လုပ်ဖို့Browser/Node က တိုက်ရိုက် run နိုင်tsc/bundler ဖြင့် JS အဖြစ် compile ရ
Error ဖော်ထုတ်ချိန်Production မှာ user ကြုံမှ သိရလေ့ရှိCode ရေးနေတုန်း editor ထဲမှာ ချက်ချင်းမြင်ရ
Editor autocompleteLimited — type ကို မသိလို့Strong — function/object shape အတိအကျ ညွှန်ပြ
SetupSetup လိုအပ်ချက် မရှိtsconfig.json + build step လိုအပ်
Learning curveSyntax ရိုးရှင်းInterface, generics, union type စတာတွေ ထပ်လေ့လာရ

ဘယ်အချိန် ဘယ်ဟာ ရွေးသင့်လဲ

'TypeScript က ဘာအခါမှာမဆို ပိုကောင်းတယ်' လို့ ယေဘုယျ ပြောလို့မရပါဘူး — project အရွယ်အစား၊ team size၊ project ကြာမြင့်ချိန်ပေါ်မှာ မူတည်ပါတယ်။ အောက်က situation တွေမှာ TypeScript ရဲ့ အားသာချက်က ပိုပြတ်သားလာပါတယ်။

TypeScript ဟာ language အသစ် မဟုတ်ပါ

Valid JavaScript code မှန်သမျှဟာ (syntax အနေနဲ့) valid TypeScript code ဖြစ်ပါတယ် — .js ဖိုင်တစ်ခုကို .ts လို့ rename လုပ်လိုက်ရုံနဲ့ compile ဖြစ်ပါလိမ့်မယ်။ ဒါကြောင့် 'TypeScript ကို အသစ် သီးသန့် သင်ရမလား' ဆိုတဲ့ စိုးရိမ်စရာ မလိုပါ — JavaScript အခြေခံ ကောင်းရင် TypeScript ကို type annotation တွေ တစ်ဆင့်ချင်း ထပ်ပေါင်းရုံပါပဲ။

JavaScript Project ကို TypeScript ဆီ ကူးပြောင်းနည်း

လက်ရှိ JavaScript project ကို တစ်ခါတည်း TypeScript အပြည့်အစုံ ပြောင်းစရာ မလိုပါဘူး — file တစ်ဖိုင်ချင်းစီ တဖြည်းဖြည်း ကူးပြောင်းလို့ ရပါတယ်။

အဆင့်ဘာလုပ်သင့်လဲ
1. TypeScript ထည့်သွင်းခြင်းnpm install --save-dev typescript ပြီး npx tsc --init ဖြင့် tsconfig.json ဖန်တီးပါ
2. allowJs ဖွင့်ခြင်းtsconfig.json ထဲ allowJs: true ထည့်ပြီး .js ဖိုင်တွေကိုလည်း compiler ကို ဖတ်ခိုင်းပါ
3. File တစ်ခုချင်းစီ .ts သို့ ပြောင်းအသစ်ရေးမယ့် file (သို့) အရေးအကြီးဆုံး core logic ကနေစပြီး .js ကို .ts လို့ rename လုပ်ပါ
4. Type error တွေကို တဖြည်းဖြည်း ဖြေရှင်းCompiler ညွှန်ပြတဲ့ error တွေကို လိုက်ဖြေပါ — မသေချာသေးတဲ့နေရာမှာ any type ကို ယာယီ escape hatch အဖြစ် သုံးလို့ရပေမယ့် ရေရှည်မှာ လျှော့သုံးသင့်ပါတယ်
5. strict mode ဖွင့်ခြင်းFile အများစု ပြောင်းပြီးမှ tsconfig ထဲ strict: true ကို နောက်ဆုံးမှ ဖွင့်ပါ — အစကတည်းက ဖွင့်ရင် error အရမ်းများပြီး လက်လျှော့စရာ ဖြစ်နိုင်ပါတယ်

Framework အများစုက Built-in Support ပေးထားပြီးသား

Next.js, Vite, Create React App စတဲ့ tool အများစုက TypeScript ကို first-class support လုပ်ပြီးသားပါ — .tsx ဖိုင်တစ်ခုကို project ထဲ ထည့်လိုက်ရုံနဲ့ tsconfig.json ကို auto-generate လုပ်ပေးပါတယ်။ Manual setup စိတ်ပူစရာ မလိုအောင် tool တွေက ကူညီပေးထားပါတယ်။

အနှစ်ချုပ်

TypeScript ဟာ JavaScript ကို အစားထိုးတဲ့ language မဟုတ်ဘဲ၊ JavaScript အပေါ် static type checking ကို ထပ်ပေါင်းထားတဲ့ layer တစ်ခုပါ — compile လုပ်လိုက်တာနဲ့ plain JavaScript ပြန်ဖြစ်သွားပါတယ်။ Project အသေးစားနဲ့ quick script တွေအတွက် JavaScript က setup မလိုဘဲ ချက်ချင်းစလို့ရပေမယ့်၊ codebase ကြီးလာသည်နှင့်အမျှ TypeScript ရဲ့ compile-time error checking နဲ့ editor autocomplete က team ရဲ့ bug နည်းစေပြီး refactor ကို ပိုလုံခြုံစွာ လုပ်နိုင်စေပါတယ်။ ဘယ်ဟာမှ 'အမှန်' တစ်ခုတည်း မဟုတ်ပါ — project အခြေအနေပေါ်မူတည်ပြီး ရွေးချယ်ဖို့ပါပဲ။

Sources

Related content