JavaScript Const
- အရေးပါသောစာအုပ် JS အမှုသိမ်း
- နောက်ပိုင်းစာအုပ် JS အမှုကြောင်းဖြစ်သူ
ECMAScript 2015
ES2015 က အခွင့်အရေး အတ္ထုပါ နှစ် ပါး အသစ် တက်ရောက်ခဲ့သည်:let
နှင့် const
အခွင့်အရေး
အမှုသိမ်း const
အခွင့်အရေး ဖော်ထုတ် ပြီး let
အခွင့်အရေး နှင့် အတူ အမြတ်တူပါသည် သော်လည်း အပြင်သို့ ပြန်လည် ပေးချင်း လုပ် မရတာဘဲ:
အကျိုးဆက်
const PI = 3.141592653589793; PI = 3.14; // အမှား ဖြစ်ပါတယ် PI = PI + 10; // အမှား ဖြစ်ပါတယ်
ဗဟုသုတ အခွင့်အရေး
ဗဟုသုတ အခွင့်အရေးဗဟုသုတ အခွင့်အရေးဗဟုသုတ အခွင့်အရေး တွင် const
ဖော်ထုတ် ပြီး let
အမှုန့် အတူ
ဤ အခါ အမှုန့် x သည် ဗဟုသုတ အခွင့်အရေး တွင် ဖော်ထုတ် ပြီး ဗဟုသုတ အခွင့်အရေး အပြင် ဖော်ထုတ် ပြီး အကြောင်းသတ္တု x နှင့် အတူ အမြတ်တူပါသည်:
အကျိုးဆက်
var x = 10; // ဤ အခါ အကြောင်းသတ္တု x သည် 10 ဖြစ်ပါသည် { const x = 6; // ဤ အခါ အကြောင်းသတ္တု x သည် 6 ဖြစ်ပါသည် } // ဤ အခါ အကြောင်းသတ္တု x သည် 10 ဖြစ်ပါသည်
အရာတစ်ခု တွင်: JavaScript Let ဗဟုသုတ အခွင့်အရေး ကို လေးလား သိနိုင်ပါသည်။
ဖော်ထုတ် စဉ် ပေးချင်း
JavaScript const
အမှုန့် ကို ဖော်ထုတ် စဉ် ပေးချင်း လုပ်ပါ:
မမှန်
const PI; PI = 3.14159265359;
ကိုယ့်ဘား
const PI = 3.14159265359;
အခွင့်အရေး မဟုတ်
အကြောင်းသတ္တု const
အကျယ်အဝန်း အားဖြင့် ကျယ်ပါတယ်。
အခွင့်အရေး အတ္ထုပါ ကို အသုံးပြုခြင်း မရှိပါဘဲ၊ အခွင့်အရေး ကို အရင်းအမြစ် ကို အသုံးပြုခြင်း ဖြစ်သည်။
ထို့ကြောင့် အခွင့်အရေး အရင်းအမြစ် ပြင်ဆင် မရတာဘဲ သော်လည်း အခွင့်အရေး အရင်းအမြစ် အရင်းအမြစ် ကို ပြင်ဆင် နိုင်ပါသည်。
အရင်းအမြစ်
အခွင့်အရေး အရင်းအမြစ် ကို ပေးချင်း ပြီးနောက် အရင်းအမြစ် ပြင်ဆင် မရတာဘဲ:
အကျိုးဆက်
const PI = 3.141592653589793; PI = 3.14; // အမှား ဖြစ်ပါတယ် PI = PI + 10; // အမှား ဖြစ်ပါတယ်
အခွင့်အရေး အရင်းအမြစ် ပြင်ဆင် နိုင်ပါသည်:
အခွင့်အရေး အရင်းအမြစ် ကို ပြင်ဆင် နိုင်ပါသည်:
အကျိုးဆက်
// ကို const အရင်းအမြစ် ဖန်တီး နိုင်ပါသည်: const car = {type:"porsche", model:"911", color:"Black"}; // ကို ပြင်ဆင် နိုင်ပါသည်: car.color = "White"; // 您可以添加属性: car.owner = "Bill";
但是您无法重新为常量对象赋值:
အကျိုးဆက်
const car = {type:"porsche", model:"911", color:"Black"}; car = {type:"Volvo", model:"XC60", color:"White"}; // ERROR
常量数组可以更改
您可以更改常量数组的元素:
အကျိုးဆက်
// 您可以创建常量数组: const cars = ["Audi", "BMW", "porsche"]; // 您可以更改元素: cars[0] = "Honda"; // 您可以添加元素: cars.push("Volvo");
但是您无法重新为常量数组赋值:
အကျိုးဆက်
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // ERROR
浏览器支持
Internet Explorer 10 或更早版本不支持 const
关键词。
下表定义了第一个完全支持 const 关键词的浏览器版本:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
2016 年 3 月 | 2013 年 10 月 | 2015 年 2 月 | 2016 年 9 月 | 2016 年 3 月 |
重新声明
在程序中的任何位置都允许重新声明 JavaScript var
变量:
အကျိုးဆက်
var x = 2; // ခွင့်ပြု var x = 3; // ခွင့်ပြု x = 4; // ခွင့်ပြု
在同一作用域或块中,不允许将已有的 var
或 let
变量重新声明或重新赋值给 const
:
အကျိုးဆက်
var x = 2; // ခွင့်ပြု const x = 2; // မမေးမြန်း { let x = 2; // ခွင့်ပြု const x = 2; // မမေးမြန်း }
在同一作用域或块中,为已有的 const 变量重新声明声明或赋值是不允许的:
အကျိုးဆက်
const x = 2; // 允许 const x = 3; // မမေးမြန်း x = 3; // မမေးမြန်း var x = 3; // မမေးမြန်း let x = 3; // မမေးမြန်း { const x = 2; // 允许 const x = 3; // 不允许 x = 3; // 不允许 var x = 3; // 不允许 let x = 3; // 不允许 }
在另外的作用域或块中重新声明 const
是允许的:
အကျိုးဆက်
const x = 2; // 允许 { const x = 3; // 允许 } { const x = 4; // 允许 }
提升
အမှုသိမ်း var
定义的变量会被提升到顶端。如果您不了解什么是提升(Hoisting),请学习提升这一章。
သင်သည် var အမှုအာရီရီ ဖော်ထုတ်ခင် အသုံးပြုနိုင်ပါ
အကျိုးဆက်
carName = "Volvo"; // သင်သည် ဒါတွင် carName ကို အသုံးပြုခြင်း ပြုနိုင်ပါ var carName;
အမှုသိမ်း const
ဖော်ထုတ်ထားသော အမှုအာရီရီ မှာ အကောင်းကျသော ကန့်ကွက်သည်
const
အမှုအာရီရီ ကို ဖော်ထုတ်ခင် အသုံးပြုခြင်း မပြုရ
အကျိုးဆက်
carName = "Volvo"; // သင်သည် ဒါတွင် carName ကို အသုံးပြုခြင်း မပြုရ const carName = "Volvo";
- အရေးပါသောစာအုပ် JS အမှုသိမ်း
- နောက်ပိုင်းစာအုပ် JS အမှုကြောင်းဖြစ်သူ