1. 程式人生 > >ES6: let 和 const 命令

ES6: let 和 const 命令

pre 外部 key 暫時 javascrip 重復 -s log ont

Let

1.Let聲明變量。它的用法類似於var,但是所聲明的變量,只在let命令所在的代碼塊內有效。

for循環的計數器,就很合適使用let命令。

for (let i = 0; i < 10; i++) {
  // ...
}

console.log(i);
// ReferenceError: i is not defined

上面代碼中,計數器i只在for循環體內有效,在循環體外引用就會報錯。

2.不存在變量提升.

// let 的情況
console.log(bar); // 報錯ReferenceError
let bar = 2;

3.不允許重復聲明 ,let不允許在相同作用域內,重復聲明同一個變量。

// 報錯
function func() {
  let a = 10;
  let a = 1;
}

4.暫時性死區,只要塊級作用域內存在let命令,它所聲明的變量就“綁定”(binding)這個區域,不再受外部的影響。

var tmp = 123;

if (true) {
  tmp = ‘abc‘; // ReferenceError
  let tmp;
}
const

聲明一個只讀的常量。一旦聲明,常量的值就不能改變。並且必須立即初始化,不能留到以後賦值

ES6: let 和 const 命令