在ES6中,变量通过以下方式声明:
- 使用
let
; - 使用
const
;
let:
使用let
关键字声明的任何变量都被分配了块作用域。块作用域不过是声明let
变量的部分,无论该变量是函数{}
,块{}
还是全局(脚本)。
例如:var let
通过使用var
var x = 100;
var x=200;
console.log(x);
代码成功执行后,将获得以下输出:
200
尝试使用let
关键字重新编写以上代码:
通过使用let
let x = 100;
let x=200;
console.log(x);
代码成功执行后,将获得以下输出:
SyntaxError: Identifier 'x' has already been declared
成功执行代码后,将得到一个错误,说明标识符x
已被声明。 因此,将使用let
关键字声明的任何变量分配给块作用域。
const:
ES6提供了一种使用const
关键字声明常量的新方法。关键字const
创建对该值的只读引用。const
一些属性如下:
特性:
- 不能为它重新分配一个值。
- 它是块作用域的。
- 常量不能重新声明。
- 常量必须在声明时进行初始化。
例如:
const y=100
y=200 // It will result in an error
因为常量变量是不可变的并且不能为它重新赋值,所以它将引发错误。