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']
rss_feed