ECMAScript 6 新特性之-常量 const
最近更新時間 2020-01-10 13:34:20
const 聲明創建一個值的只讀引用。常量的值不能通過重新賦值來改變,並且不能重新聲明。
一個常量不能和它所在作用域內的其他變量或函數擁有相同的名稱。
//ECMAScript 6 ES6
const PI = 3.141593
PI > 3.0
//ECMAScript 5 ES5
// only in ES5 through the help of object properties
// and only in global context and not in a block scope
Object.defineProperty(typeof global === "object" ? global : window, "PI", {
value: 3.141593,
enumerable: true,
writable: false,
configurable: false
})
PI > 3.0;
// 注意: 常量在聲明的時候可以使用大小寫,但通常情況下全部用大寫字母。
// 定義常量MY_FAV並賦值7
const MY_FAV = 7;
// 報錯
MY_FAV = 20;
// 常量可以定義成對象
const MY_OBJECT = {"key": "value"};
// 重寫對象和上面一樣會失敗
MY_OBJECT = {"OTHER_KEY": "value"};
// 對象屬性並不在保護的範圍內,下面這個聲明會成功執行
MY_OBJECT.key = "otherValue";
// 也可以用來定義數組
const MY_ARRAY = [];
// It's possible to push items into the array
// 可以向數組填充數據
MY_ARRAY.push('A'); // ["A"]
// 但是,將一個新數組賦給變量會引發錯誤
MY_ARRAY = ['B']