ES6 / ES2015中有两个新的关键字可在JavaScript中声明变量: let 和 const. 与 var不同,let 和 const 是区块范围的。
Var有一个问题,它没有被封锁,这可能会导致惊喜:
1var dog = 'Ralf';
2
3if (true) {
4 var dog = 'Skip';
5}
6
7console.log(dog); // Skip
将此与使用 let 比较:
1let dog = 'Ralf';
2
3if (true) {
4 let dog = 'Skip';
5}
6
7console.log(dog); // Ralf
Var 具有适当的功能范围,这意味着问题不会发生在函数中,但在块中,例如如果或对于所有赌注都关闭,并且与 var 宣布的变量被提升到主范围。
康斯
使用 const 可以定义不变变量(常数)。
1const PI = 3.1415;
2
3PI = 5; // "TypeError: Assignment to constant variable.
但是要小心,新的项目仍然可以被推入一个数组常数或添加到对象中,以下2个片段无需抱怨,因为我们不试图重新分配到变量中:
1const someArr = [3, 4, 5];
2
3someArr.push(6);
1const someObj = {
2 dog: 'Skip',
3 cat: 'Caramel',
4 bird: 'Jack'
5};
6
7someObj.camel = 'Bob';
《VS VAR》
许多开发人员现在都同意,使用var不再是一个非常强大的案例,并且使用lat应该是前进的途径。
简而言之,使用使用
吧!