如今前端开发越来越多的使用 ES6 了,那么下面就来看看 ES6 中的 let 和 const 的用法。

let

let 和 var 一样,用于声明变量,let 有以下特点:

  1. 块级作用域
  2. 不存在变量提升
  3. 暂时性死区
  4. 不允许重复声明

1. 块级作用域

类似于局部变量,如:

{
    let n = 10;

    console.log(n); // 10
}

console.log(n); // 报错,这里不能访问块中 let 声明的变量 n。

在 for 循环中很实用,比如:

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

console.log(i); // 报错,这里不能访问 for 块中 let 声明的变量 n

2. 不存在变量提升

var 声明的变量会提升到当前块的最前面,而 let 不会,如:

console.log(n); // 报错
let n = 10;

3. 暂时性死区

let 声明的变量会绑定当前作用域,比如:

let n = 10; 
{
    n = 5; // 报错
    let n; 
}

虽然 let 不存在变量提升,但是,作用域内只要有 let 声明过的变量,声明之前都不能使用此变量,let 声明之前的区域就是暂时性死区。

4. 不允许重复声明

let 不允许重复声明变量,如:

let n = 10; 
let n = 5; // 报错

const

const 有以下特点:

  1. 用于声明常量
  2. 声明常量时必须初始化其值

1. 用于声明常量

const 和 let 一样,只不过 const 声明的变量的值是不可改变的,也就是说,const 声明的是常量。比如:

const n = 10;
n = 5; // 报错,const 声明的是常量,其值不可改变

2. 声明常量时必须初始化其值

const n; // 报错,声明时就必须制定其值

这篇文章简单介绍了 ES6 中 let 和 const 的特点,前端开发是不是更有意思了呢!