【问题标题】:Is there any reason to use var anymore? [duplicate]有什么理由再使用 var 了吗? [复制]
【发布时间】:2018-02-16 19:14:00
【问题描述】:

ECMAScript 6 为变量声明引入了 letconst 关键字。

话虽如此,有什么理由使用var 来声明一个变量?

【问题讨论】:

    标签: javascript ecmascript-6


    【解决方案1】:

    向后兼容性(编写/维护 ES5)或编写/维护草率代码的能力。

    var,不像letconst 可以在同一范围内多次重新定义一个变量。特别是如果您要重构已经很混乱的东西,您可能需要坚持使用var 一段时间。

    有大量代码在多个for 循环中重新定义i,如果将一个实例替换为let,则会引发错误。

    这是 linting 工具多年来一直能够捕捉到的东西,但这并不意味着所有粗略的代码都消失了。

    【讨论】:

      【解决方案2】:

      主要原因是向后兼容性。除此之外,我看不到。因此,如果您使用的是转译器,那么使用 var 真的没有意义。除非你需要一个全局变量,但那是邪恶的。

      【讨论】:

      • 也反对,但如果你需要全局,我建议写window.myVar。这样就更难错过了。
      • @SamR 不是每个人都在浏览器中使用 JS,即使没有window
      • @Bergi 这是真的。我倾向于关注客户端。您可以在任何环境中使用let 创建一个全局变量,因此即使这样您也不需要var
      • @SamR 一个问题是let/const variables cannot be declared multiple times,这对于全局变量来说通常是可取的。
      猜你喜欢
      • 2018-06-15
      • 2017-08-29
      • 2011-10-12
      • 2015-07-24
      • 1970-01-01
      • 2013-08-24
      • 1970-01-01
      • 2013-08-12
      • 2017-04-22
      相关资源
      最近更新 更多