1. 程式人生 > >ES6學習(一)---let和const用法

ES6學習(一)---let和const用法

1.let用法

(1)存在作用域,即let宣告函式會在花括號中執行
(2)es6規定暫時性死區,暫時性死區通俗的來講就是一個區塊中存在let和const宣告的變數,那麼該區塊會形成封閉作用域,在let和const宣告之前使用該變數都會報錯。

//例子1
{
console.log(a);//a is not defined
let a = 1;
}
//列子2
{
let x = x;//同樣會出現x is not defined
}

這樣規定,是為了讓大家在寫程式碼的時候更加規範。
(3)let不允許重複宣告變數

{
let a = 1;
let a = 2;
}//這樣會報錯

(4)es6不存在變數提升,變數只能在使用let聲明後使用
(5)如果在作用域外聲明瞭變數,則該作用域變數let宣告的變數不會受到影響

var a  = 10;
{
let a = 100;
console.log(a); //100
}

(6)對於for迴圈中用let宣告括號中的相當於一個父作用域,花括號裡的是子作用域

2.const的用法

(1)const也存在不允許變數提升、暫時性死區、不可再統一作用域內宣告統一變數。
(2)const一旦宣告變數,就無法通過賦值改變。

{
const a = 1;
a = 2; 
//會報錯
}

(3)const宣告變數必須賦值,否則會報錯。

const b;
//會報錯,應該立即給b賦值

(4)const變數是一個數組或物件的時候,可以給其屬性賦值

const a = [];//或者a = {}
a.name = 'zs'; a.age = 18;