ES6: let 和 const 命令
阿新 • • 發佈:2018-04-12
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 命令