2.【ES6】let

*  用let命令限定作用域

与var做对比

  1. 新建test.js文件
  2. node test.js运行文件

#ES5语法

/*1、如果是真
*2、定义i=1
*3、控制台输出i*/

if(true){
    var i = 1;
}

console.log(i);

控制台输出 

#ES6语法

if (true) {
    let i = 1;
}
console.log(i); 

控制台输出:告诉我们 (i) 未定义

总结:

1.ES5语法中用if模块中用var定义,输出的时候外面一层并没有定义i,但是最终输出的时候确能输出变量。

2.ES6语法中用let定义,本身就没定义,他的作用域仅仅在if代码块中,如果在if代码块上定义,那么就是可以看见的。

3.如果用var写的话,增加bug的可能性,ES6语法的话就比较严谨了。

猜你喜欢

转载自blog.csdn.net/WANGtesting/article/details/82907629