1. let,const 和 block 作用域
let允許創(chuàng)建塊級作用域,ES6推薦在函數(shù)中使用let定義變量客叉,非var
var a=2;
{
let a=3;
console.log(a);
}
console.log(a);
同樣在塊級作用域有效的另一個變量聲明方式是 const荒辕,它可以聲明一個常量。ES6 中犹褒,const 聲明的常量類似于指針抵窒,它指向某個引用,也就是說這個「常量」并非一成不變的叠骑,如:
{
const ARR = [5,6];
ARR.push(7);
console.log(ARR); // [5,6,7]
ARR = 10; // TypeError
}
有幾個點需要注意:
- let 關(guān)鍵詞聲明的變量不具備變量提升(hoisting)特性
- let 和 const 聲明只在最靠近的一個塊中(花括號內(nèi))有效
- 當(dāng)使用常量 const 聲明時李皇,請使用大寫變量,如:CAPITAL_CASING
- const 在聲明時必須被賦值