在上一篇博客04_JavaScript之变量中,我写到了ES5中变量如何定义,使用。其中提到在JavaScript中如果定义了同名的变量,那么后定义的变量将覆盖先定义的变量和在老版本的标准(ES6之前)JavaScript中可以使用变量,在定义变量,并不会报错这两个注意点。由此引发出了一个问题,当程序十分庞大有几十万行代码时,我们不断地去使用之前声明的变量,有可能重复声明了相同的变量,导致程序出现bug,而在ES5中并不会报错,这使得程序员需要自己去发现错误点,大大降低了开发效率。而在ES6中,则解决了该问题。
在ES6中,声明变量不再用var,而用let**
重复声明相同的变量:
<script>
let num = 100;
let num = 200;
console.log(num);
</script>
再次声明了变量则出现报错信息:
先使用变量,在声明变量:
<script>
console.log(num);
let num = 100;
</script>
不再进行预解析,直接报错