在ES6中,变量通过以下方式声明:

    • 使用let
    • 使用const

    let:
    使用let关键字声明的任何变量都被分配了块作用域。块作用域不过是声明let变量的部分,无论该变量是函数{},块{}还是全局(脚本)。
    例如:var let
    通过使用var

    1. var x = 100;
    2. var x=200;
    3. console.log(x);

    代码成功执行后,将获得以下输出:

    1. 200

    尝试使用let关键字重新编写以上代码:
    通过使用let

    1. let x = 100;
    2. let x=200;
    3. console.log(x);

    代码成功执行后,将获得以下输出:

    1. SyntaxError: Identifier 'x' has already been declared

    成功执行代码后,将得到一个错误,说明标识符x已被声明。 因此,将使用let关键字声明的任何变量分配给块作用域。
    const:
    ES6提供了一种使用const关键字声明常量的新方法。关键字const创建对该值的只读引用。const一些属性如下:
    特性:

    • 不能为它重新分配一个值。
    • 它是块作用域的。
    • 常量不能重新声明。
    • 常量必须在声明时进行初始化。

    例如:

    1. const y=100
    2. y=200 // It will result in an error

    因为常量变量是不可变的并且不能为它重新赋值,所以它将引发错误。