es6出了let关键字,是否意味着以后写js定义变量多用let,这样就避免那些定位不到的bug?
如题,求解。刚刚想深入学js,如果是一个很傻逼的问题,也希望不吝赐教。
关注者
68被浏览
24,31613 个回答
应该尽量用const,能const就别let。let只是让变量以大括号为作用域,但是依然可以赋值改变,改变值就容易引入bug;const让变量的值不能被重新赋值,这样程序状态更容易跟踪,不容易出bug。
在现在浏览器兼容的情况下使用let定义变量是好的
因为let关键字存在块级作用域的概念 不存在变量声明提升的概念
所以 当使用let a = 123声明变量a时,在声明之前访问该变量会报错,因为不像var一样存在变量生命提升
从块级作用域、变量声明提升和暂时性死区的角度来看
使用let定义变量会比var好很多