【发布时间】:2018-10-24 10:04:03
【问题描述】:
我正在学习 Java 课程,所有声明都使用块范围(int, double, boolean, etc.)。然而,在 JavaScript 中 var 是函数作用域。
let 出现在 ES6 中并为 JS 开发人员提供了块范围。我正在调整我的编码风格,并选择一起摆脱var。
这样可以吗?
【问题讨论】:
-
是的,甚至 google 在其风格指南中也将其删除。 Google JS Style Guide
-
是的,如果您决定不支持旧版浏览器或者您正在使用转译器。在 ES6 中,没有任何理由更喜欢
var来代替let或const。 -
视使用情况而定。删除所有 var 后您将获得什么好处?您是否涵盖了单元测试用例。您是否能够检查在没有任何内容替换后是否会破坏您的代码
-
var唯一有用的应用是可以在全局范围内多次重新定义全局而不会导致错误。如果有多个脚本定义了一个全局,则可能会发生这种情况,但只有最后一个定义应该生效。