const 的特性
- 不可以被修改(再指定)
- 如果有block,在block裡面可以被改,但是回到外面會變回初始值
cant’t be updated & defined
const width=100;
width=200;
console.log(width);//100
//不可被修改
block scope
let points=50;
const winner=false;
if(points>40) {
const winner=true;
console.log(winner);//true
//只有在block內部,才能夠被更改
}
console.log(winner);//false
//在外部則不會被更改,呈現初始值
By Value or By Reference
當資料類型為By Value時〔Number, String, Boolean〕
以const宣告的變數是不能被再指定的(即等於不能被改)
//錯誤示例
const name='Ian';
name='Chen'; //←ERROR!!
但若資料類型是By Reference時〔Object, Array〕,
以const宣告後可以用push, object.item=xxx等方式修改其值。
但一樣不能進行再指定的動作
//正確示例
const fruits=['apple', 'banana', 'orange'];
console.log(fruits); //['apple', 'banana', 'orange']
fruits.push('grape');
console.log(fruits); //['apple', 'banana', 'orange', 'grape']
//錯誤示例
const colors=['red', 'blue', 'green'];
colors=['pink', 'black', 'white'] //←ERROR!!