es6出了let关键字,是否意味着以后写js定义变量多用let,这样就避免那些定位不到的bug?

如题,求解。刚刚想深入学js,如果是一个很傻逼的问题,也希望不吝赐教。
关注者
68
被浏览
24,316

13 个回答

应该尽量用const,能const就别let。let只是让变量以大括号为作用域,但是依然可以赋值改变,改变值就容易引入bug;const让变量的值不能被重新赋值,这样程序状态更容易跟踪,不容易出bug。

在现在浏览器兼容的情况下使用let定义变量是好的

因为let关键字存在块级作用域的概念 不存在变量声明提升的概念

所以 当使用let a = 123声明变量a时,在声明之前访问该变量会报错,因为不像var一样存在变量生命提升

从块级作用域、变量声明提升和暂时性死区的角度来看

使用let定义变量会比var好很多