JavaScript Const
သော့ချက်စကားလုံးကို ES6 (2015)const
တွင် မိတ်ဆက်
ခဲ့သည် ။
သတ်မှတ်ထားသော const
ကိန်းရှင်များကို ပြန်လည်ကြေငြာ၍မရပါ။
သတ်မှတ်ထားသော ကိန်းရှင်များကို ပြန်လည်သတ်မှတ်၍ const
မရပါ။
သတ်မှတ်ထားသော const
ကိန်းရှင်များသည် Block Scope ရှိသည်။
ပြန်လည်သတ်မှတ်၍မရပါ။
ကိန်းရှင် တစ်ခုကို const
ပြန်လည်သတ်မှတ်၍မရပါ-
ဥပမာ
const PI = 3.141592653589793;
PI = 3.14; // This will give an error
PI = PI + 10; // This will also give an error
တာဝန်ပေးအပ်ရမည်။
JavaScript const
variable များကို ၎င်းတို့အား ကြေညာသောအခါတွင် တန်ဖိုးတစ်ခု သတ်မှတ်ပေးရမည်-
မှန်ပါ့
const PI = 3.14159265359;
မမှန်ပါ။
const PI;
PI = 3.14159265359;
JavaScript const ကို ဘယ်အချိန်မှာ သုံးမလဲ။
ယေဘူယျ စည်းမျဉ်းအ const
ရ တန်ဖိုးပြောင်းလဲမည်ကို သင်မသိပါက ကိန်းရှင်တစ်ခုကို အမြဲကြေငြာပါ။
const
သင်ကြေညာသည့်အခါ အသုံးပြု ပါ-
- Array အသစ်တစ်ခု
- အရာဝတ္ထုအသစ်
- Function အသစ်တစ်ခု
- RegExp အသစ်
Constant Objects နှင့် Arrays များ
သော့ချက်စကားလုံး const
သည် အနည်းငယ် လွဲမှားနေသည်။
ကိန်းသေတန်ဖိုးကို မသတ်မှတ်ထားပါဘူး။ ၎င်းသည် တန်ဖိုးတစ်ခုအတွက် စဉ်ဆက်မပြတ်ရည်ညွှန်းချက်ကို သတ်မှတ်သည်။
ထို့အတွက်ကြောင့် သင်သည် မရနိုင်ပါ။
- ကိန်းသေတန်ဖိုးကို ပြန်သတ်မှတ်ပါ။
- စဉ်ဆက်မပြတ် ခင်းကျင်းခြင်းကို ပြန်လည်သတ်မှတ်ပါ။
- စဉ်ဆက်မပြတ်အရာဝတ္ထုကို ပြန်လည်သတ်မှတ်ပါ။
- စဉ်ဆက်မပြတ် array ၏ဒြပ်စင်များကိုပြောင်းလဲပါ။
- အဆက်မပြတ်အရာဝတ္ထု၏ ဂုဏ်သတ္တိများကို ပြောင်းလဲပါ။
ဒါပေမယ့် သင်လုပ်နိုင်သည်-
Constant Arrays များ
စဉ်ဆက်မပြတ် array ၏ဒြပ်စင်များကို သင်ပြောင်းလဲနိုင်သည်-
ဥပမာ
// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];
// You can change an element:
cars[0] = "Toyota";
// You can add an element:
cars.push("Audi");
သို့သော် သင်သည် array ကို ပြန်လည်သတ်မှတ်၍ မရပါ။
ဥပမာ
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
ကိန်းသေအရာဝတ္ထုများ
အဆက်မပြတ်အရာဝတ္ထုတစ်ခု၏ ဂုဏ်သတ္တိများကို သင်ပြောင်းလဲနိုင်သည်-
ဥပမာ
// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};
// You can change a property:
car.color = "red";
// You can add a property:
car.owner = "Johnson";
သို့သော် သင်သည် အရာဝတ္တုကို ပြန်လည်သတ်မှတ်၍ မရပါ။
ဥပမာ
const car = {type:"Fiat", model:"500", color:"white"};
car = {type:"Volvo", model:"EX60", color:"red"}; //
ERROR
Browser ပံ့ပိုးမှု
သော့ချက်စကားလုံးကို Internet Explorer 10 သို့မဟုတ် ထို const
ထက်စောသောနေရာတွင် မပံ့ပိုးပါ။
အောက်ပါဇယားသည် const
သော့ချက်စကားလုံးအတွက် အပြည့်အဝပံ့ပိုးမှုဖြင့် ပထမဆုံးဘရောက်ဆာဗားရှင်းများကို သတ်မှတ်ဖော်ပြသည်-
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Block Scope
ကိန်းရှင်တစ်ခုအား ကြေညာခြင်းသည် Block Scope သို့
ရောက်သောအခါ const
နှင့် ဆင်တူသည် ။let
ဤဥပမာတွင် ဘလောက်တွင်ဖော်ပြထားသော x သည် block အပြင်ဘက်တွင်ဖော်ပြထားသော x နှင့် မတူပါ။
ဥပမာ
const x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
JavaScript Scope အခန်းတွင် block scope အကြောင်း ပိုမိုလေ့လာနိုင်ပါသည် ။
ပြန်လည်ကြေငြာခြင်း။
JavaScript var
variable ကို ပြန်လည်ကြေငြာခြင်းကို ပရိုဂရမ်တစ်ခုရှိ မည်သည့်နေရာတွင်မဆို ခွင့်ပြုသည်-
ဥပမာ
var x = 2; // Allowed
var x = 3; // Allowed
x = 4; // Allowed
တူညီသောနယ်ပယ်တွင် ရှိပြီးသား var
သို့မဟုတ် let
ကိန်းရှင်အား ပြန်လည်ကြေငြာ const
ခြင်းကို ခွင့်မပြုပါ-
ဥပမာ
var x = 2; // Allowed
const x = 2; // Not allowed
{
let x = 2; // Allowed
const x = 2; // Not allowed
}
{
const x = 2; // Allowed
const x = 2; // Not allowed
}
တူညီသောနယ်ပယ်တွင် ရှိပြီးသား const
ကိန်းရှင်ကို ပြန်လည်သတ်မှတ်ခြင်းအား ခွင့်မပြုပါ-
ဥပမာ
const x = 2; // Allowed
x = 2; // Not allowed
var x = 2; // Not allowed
let x = 2; // Not allowed
const x = 2; // Not allowed
{
const x = 2; // Allowed
x = 2;
// Not allowed
var x = 2;
// Not allowed
let x = 2;
// Not allowed
const x = 2; // Not allowed
}
const
အခြားနယ်ပယ်တစ်ခုတွင် သို့မဟုတ် အခြားဘလောက်တွင် ကိန်းရှင်တစ်ခုအား ပြန်လည်ကြေငြာ ခြင်းကို ခွင့်ပြုသည်-
ဥပမာ
const x = 2; // Allowed
{
const x = 3; // Allowed
}
{
const x = 4; // Allowed
}
Const Hoisting
သတ်မှတ်ထားသော ကိန်းရှင်များ var
ကို ထိပ် တွင်တင်ထားပြီး အချိန်မရွေး အစပြုနိုင်ပါသည်။
အဓိပ္ပါယ်- ၎င်းကို မကြေငြာမီ သင်သည် ကိန်းရှင်ကို အသုံးပြုနိုင်သည်။
ဥပမာ
ဒါက OK-
carName = "Volvo";
var carName;
Hoisting အကြောင်းပိုမိုလေ့လာလိုပါက JavaScript Hoisting အခန်းကိုလေ့လာပါ ။
သတ်မှတ်ထားသော const
ကိန်းရှင်များကို ထိပ်တွင်တင်ထားသော်လည်း အစပြု၍မရပါ။
အဓိပ္ပါယ်- const
၎င်းကို မကြေငြာမီ ကိန်းရှင်တစ်ခုကို အသုံးပြုခြင်းသည် ရလဒ်တစ်ခု ဖြစ်လာမည်ဖြစ်သည်
ReferenceError
။
ဥပမာ
alert (carName);
const carName = "Volvo";