Spark Of Genius

images

Variables and Data Types

Author : Thuyein Soe

Variables and Data Types

ဒီသင်ခန်းစာမှာတော့ Variable ရဲ့ Fundamental Concept တွေအကြောင်းကို ရှင်းပြမှာဖြစ်ပါတယ်။

Variable တွေဟာ Programming လောကမှာရှိနေတဲ့ Programming Language တိုင်းရဲ့ အခြေခံ Concept တွေဖြစ်ပါတယ်။

Variable ဆိုတာ လူတိုင်းမြင်သာအောင် အလွယ်ပြောရရင် Container Box တစ်ခုလိုဖြစ်ပြီး သူ့ထဲမှာ Value တွေကို သိမ်းထားနိုင်သလို ၎င်း Value တွေကိုလည်း Code တွေထဲမှာ အကြိမ်ကြိမ်အခါခါခေါ်သုံးနိုင်ပါတယ်။

ပထမဆုံးအနေနဲ့ Variable တစ်ခုကို Declare လုပ်တော့မယ်ဆိုရင် var keyword ကိုအသုံးပြုမှာဖြစ်ပြီး သူ့နောက်မှာတော့ Variable name တစ်ခုကိုရေးပေးရမှာဖြစ်ပါတယ်။

အဲ့ဒီနောက်မှာ equal လိုက်မှာဖြစ်ပြီး သူ့နောက်မှာတော့ ကိုယ်ထည့်ချင်တဲ့ value ကိုရေးရမှာဖြစ်ပြီး နောက်ဆုံးမှာတော့ ထုံးစံအတိုင်း ; နဲ့ ပိတ်မှာဖြစ်ပါတယ်။

eg:

var firstName = 'Mg Mg';

အထက်ပါ Code ကတော့ ပထမဆုံး Variable တစ်ခုကို Declare လုပ်တာဖြစ်ပါတယ်။

variable name သည် firstName ဖြစ်ပြီး သူ့မှာ assign(အစား)သွင်းထားတဲ့ value ကတော့ Mg Mg ဖြစ်ပါတယ်။

variable တစ်ခုကို code ပေါ်မှာတည်ဆောက်လိုက်တာဖြစ်ပေမယ့် computer ရဲ့ memory ထဲမှာ သွားနေရာယူပြီး သူ့ရဲ့ value ဖြစ်တဲ့ Mg Mg ကို သိမ်းထားလိုက်ပါတယ်။

Mg Mg သည် string ဖြစ်တဲ့အတွက် ' ' ဖြင့်ရေးတာဖြစ်ပြီး " " နဲ့လည်းရေးလို့ရပါတယ်။ နောက်ပိုင်းမှာတော့ single code က ပိုရှင်းတဲ့အတွက် အသုံးများလာကြပါတယ်။

သူ့ကို အဖြေထုတ်ချင်တယ်ဆိုရင် console.log(firstName) ဆိုပြီးအဖြေထုတ်လိုက်တဲ့အခါမှာ Browser ရဲ့ console မှာ သွားပေါ်မှာ ဖြစ်ပါတယ်။

နောက်ထပ် လူတစ်ယောက်ရဲ့ Personal Data အချို့ကို variable တွေအနေနဲ့အောက်ပါအတိုင်းကြေညာကြည့်ရအောင်။

var lastName = "Gyi";

var age = 26;

အထက်ပါ variable နှစ်ခုမှာ lastName သည် ပြသနာမရှိသော်လည်း age ရဲ့ value 26 သည် number value ဖြစ်ပြီး သူ့ရဲ့ Data Type တွေကွဲပြားတဲ့အတွက် ' ' ထည့်စရာမလိုပါဘူး။

ဘာကြောင့်လဲဆိုတော့ JavaScript ရဲ့ မတူညီတဲ့ Datatype တွေကြောင့်ဖြစ်ပါတယ်။


JavaScript ရဲ့ Datatype တွေဟာ တစ်ခုနဲ့တစ်ခု မတူညီကြပါဘူး။

သူ့မှာ Number / String / Boolean / Undefine နဲ့ Null တို့ဆိုပြီး အမျိုးအစား ငါးမျိုးပါဝင်ပါတယ်။

သူတို့ကို Primitive Datatype များလို့ခေါ်ပါတယ်။

Number နဲ့ String ကိုတော့ မြင်ဘူးပြီးသားဖြစ်ပါတယ်။


Primitive Datatype ဆိုတာကတော့ Object မဟုတ်တာကိုပြောခြင်းဖြစ်ပါတယ်။

ထို့ကြောင့် Object မဟုတ်တဲ့အရာအားလုံးသည် Primitive သို့မဟုတ် Non Object Datatype များဖြစ်ကြပါတယ်။


ပထမဆုံးရှင်းပြမှာကတော့ Number များဖြစ်ပြီး JavaScript မှာ Number များသည် အမြဲတမ်း Floating Point များဖြစ်ကြပြီး ဒသမကိန်းများကိုပဲ သိမ်းလေ့ရှိပါတယ်။

ဥပမာအားဖြင့် 7 ဆိုပါက 7.0 ဆိုပြီး သိမ်းထားသည်။

တစ်ချို့ Programming Language တွေမှာတော့ အဲ့ဒီလိုမဟုတ်ပဲ ကိန်းပြည့်နဲ့ ဒသမကိန်းကို Integers နဲ့ Decimals ဆိုပြီး ခွဲပြီး သိမ်းလေ့ရှိပါတယ်။


နောက်တစ်ခုက String ဖြစ်ပြီး Characters တွေကို စီကုံးထားတာကိုခေါ်ခြင်းဖြစ်ပြီး Text အမျိုးအစားဖြစ်ပါတယ်။

အပေါ်မှာ ဥပမာပြခဲ့တဲ့ firstName နဲ့ lastName တို့တွေသည် String များဖြစ်ကြပါတယ်။


နောက်တစ်ခုကတော့ Boolean Datatype ဖြစ်ပြီး သူကတော့ Logical Datatype ဖြစ်ပြီးသူ့မှာ logical value တွေဖြစ်တဲ့ true နဲ့ false ပဲ ပါဝင်ပါတယ်။

ဆိုလိုချင်တာက Boolean သည် အမြဲတမ်း true မဟုတ်ရင် false တစ်ခုခုဖြစ်နေတတ်ပါတယ်။

နောက်ပိုင်း Project တွေမှာ Boolean Datatype သည် အရမ်းအသုံးဝင်လာပါလိမ့်မယ်။


နောက်တစ်ခုကတော့ နဲနဲရှုပ်ပါတယ်။

Undefined ဖြစ်ပြီး သူသည်လည်း Datatype တစ်ခုဖြစ်ပြီး သူ့ကိုဘယ်အချိန်မှာတွေ့ရတတ်သလဲဆိုရင် variable တွေမှာ automatically assign လုပ်တဲ့အခါမှာ တွေ့ရပါတယ်။

ဘာလို့လဲဆိုတော့ variable တွေမှာ value တွေ မသတ်မှတ်ရသေးခင် undefined ကို ယာယီသတ်မှတ်ထားတတ်ပါတယ်။

Undefined ကို မြန်မာလိုအလွယ်ပြန်မယ်ဆိုရင် non-existent(နတ္ထိ)လို့ ပြန်ပါတယ်။ ဘာမှမရှိခြင်းကို ဆိုလိုပါတယ်။


နောက်ဆုံး Datatype တစ်ခုကတော့ Null ဖြစ်ပြီး သူသည် Undefine နဲ့ နဲနဲလေးဆင်ပါတယ်။

Null သည်လည်း non-existent(နတ္ထိ) လို့အလွယ်ပြောလို့ရပြီး ဘာမှမရှိတာခြင်းအတူတူ Undefined ထက် ပိုတိကျတယ်လို့ ဆိုပါတယ်။(Documentation အရ)

အကြောင်းအရာ အပြည့်အစုံကိုတော့ နောက်ပိုင်းမှာ ပြောပြပေးသွားပါ့မယ်။


ဒီနေရာမှာ Note အနေနဲ့ နဲနဲလေးပြောပြချင်တာက JavaScript ရဲ့ Feature များသည် Dynamic Typing များဖြစ်ကြပါတယ်။

ဆိုလိုတာက variable တွေလိုမျိုးနေရာတွေမှာ Datatype တွေကို Manually လိုက်သတ်မှတ်စရာမလိုပဲ သူ့အလိုလို သတ်မှတ်ပေးသွားခြင်းဖြစ်ပါတယ်။

ဥပမာ variable တစ်ခုမှာ Developer ထည့်လိုက်တဲ့ value ကိုလိုက်ပြီး သူ့ရဲ့ datatype တွေကို  ကြေညာပေးသွားပြီး တစ်ကယ်လို့ value မှာ datatype တွေပြောင်းလဲသွားတယ်ဆိုရင်လည်း အလိုအလျောက် လိုက်ပါပြောင်းလဲပေးသွားပါတယ်။

အဲ့လိုလုပ်ပေးထားခြင်းဟာ Developer တွေအတွက် အရမ်းအသုံးဝင်ပြီး Coding Time ကိုလည်း လျော့ချပေးနိုင်ပါတယ်။

ဒါပေမယ့် ပြသနာက bugs တွေကိုရှာတဲ့အခါမှာ အခက်အခဲရှိတတ်ပါတယ်။

ဒါကြောင့် variable တွေကိုကြေညာတဲ့အခါမှာ ဂရုစိုက်ဖို့ လိုပါတယ်။


လက်တွေ့ကြည့်ရန်အတွက် variable တစ်ခုကိုအောက်ပါအတိုင်းတည်ဆောက်ပြီး console ထဲမှာအဖြေထုတ်ကြည့်လိုက်ပါ။

var fullAge = true;

console.log(fullAge);


console ထဲမှာတစ်ချက်ကြည့်လိုက်တဲ့အခါမှာ အဖြေထုတ်တဲ့နေရာတွေမှာ မတူတာကိုတွေ့ရမှာဖြစ်ပြီး string ရဲ့အရောင်တွေသည် အမဲဖြစ်နေပြီး boolean ရဲ့အရောင်သည် အပြာဖြစ်နေတာကိုတွေ့ရပါလိမ့်မယ်။


variable name တွေကိုကြေညာတဲ့အခါမှာ အဆင်ပြေသလိုကြေညာကြပေမယ့် သူ့ဥပဒေသ အနည်းငယ်တော့ရှိပါတယ်။

ဥပမာနာမည်ကို x ဆိုပြီး တစ်လုံးတည်းပေးတာမျိုး abc ဆိုပြီး အစဉ်အလိုက်ပေးတာမျိုးတွေကိုရှောင်သင့်တယ်လို့ ဆိုပါတယ်။

ဥပမာတွေမှာ ပေးထားတဲ့ variable name တွေဟာ firstName / lastName ဆိုပြီး random character တွေဖြစ်တဲ့အတွက် အဆင်ပြေပါတယ်။

variable name တွေကိုနာမည်ပေးတဲ့အခါမှာ တစ်ခါတစ်လေ နာမည်ပေးတဲ့အခါမှာ Word နှစ်ခုတွဲပေးရမှာတွေ ရှိလာတတ်ပါတယ်။

ဥပမာ firstName လိုမျိုးဖြစ်ပြီး အဲ့လိုနှစ်လုံးပေါင်းပေးတဲ့အခါမှာ space ကိုမသုံးပဲ ဒုတိယအလုံးအစကို Capital Latter နဲ့ပေးရပါတယ်။

အဲ့လိုမျိုးနာမည်ပေးခြင်းကို camelcase notation လို့ခေါ်ပါတယ်။

တစ်ခါတစ်လေကျရင်လည်း first_name ဆိုပြီး word နှစ်ခုကြားမှာ underscore ခံပြီးပေးကြပါတယ်။

အဲ့ဒီအခါကျရင် JavaScript သည် underscore နောက်က Character ကို convert လုပ်လိုက်ပြီး camelcase notation နဲ့ ဆက်အလုပ်လုပ်ပါတယ်။


နောက်တစ်ဆင့်အနေနဲ့ variable တစ်ခုကိုအောက်ပါအတိုင်းကြေညာမှာဖြစ်ပြီး သူ့ကို ဘာတန်ဘိုးမှ assign မသွင်းပဲထားမှာဖြစ်ပါတယ်။

var job;

သူ့ကိုအဖြေထုတ်ကြည့်တဲ့အခါမှာ undefined လို့ပြနေမှာဖြစ်ပါတယ်။

undefined သည် non-existend လို့အပေါ်မှာပြောခဲ့သလိုပဲ ကျွန်တော်တို့ variable ကိုကြေညာတဲ့အခါမှာ ဘာတန်ဘိုးမှ assign မသွင်းခဲ့တဲ့အတွက် undefined ကို အဖြေထုတ်ပေးခြင်းဖြစ်ပါတယ်။

တန်ဘိုးတစ်ခုခုကို နောက်ပိုင်းမှာ အောက်ပါအတိုင်း assign လုပ်ပေးလို့လဲရပါတယ်။

job = 'Web Developer';


အပေါ်မှာ camelcase notation အကြောင်းနဲ့ တစ်ခြား variable name ပေးပုံအနည်းငယ်ကိုရှင်းပြခဲ့ပါတယ်။

နောက်ထပ် သူ့ဥပဒေသအနည်းငယ်ကိုဆက်ရှင်းပေးပါ့မယ်။

variable တွေကိုနာမည်ပေးတဲ့အခါမှာ number/symbol စတာတွေနဲ့ စလို့မရပါဘူး။

ဒါပေမယ့် $ နဲ့ _ နဲ့တော့ စလို့ရပါတယ်။

variable name တွေရဲ့ အလယ်မှာ / ပါလို့မရပါဘူး။

နောက်တစ်ချက်က JavaScript ရဲ့ keyword တွေနဲ့ variable name ကိုပေးလို့မရပါဘူး။

ဥပမာ var function/var delete လိုမျိုးဖြစ်ပါတယ်။


အထက်မှာဖော်ပြခဲ့တာတွေကတော့ JavaScript ရဲ့ Datatype နဲ့ Variable တွေရဲ့ Fundamental Concept တွေဖြစ်ပြီး ဒီအကြောင်းအရာတွေကို JavaScript မှာမက တစ်ခြား Programming Language တွေမှာလည်း အသုံးပြုကြပါတယ်။

အခြေခံဆိုပေမယ့် ဒီအကြောင်းအရာတွေကို သေချာနားမလည်ဘူးဆိုရင် ရှေ့ဆက်ပြီးလေ့လာရတာ အင်မတန်ခက်ခဲလာပါလိမ့်မယ်။

Author:

Thuyein Soe
Lecturer Green Hackers Institute