javascript - 我有什么理由不使用 "let"吗?

标签 javascript constants var ecmascript-6 let

<分区>

现在我们可以编写 ES6 并将其部署到浏览器(使用 Traceur 或 6to5 来支持遗留用户代理),我们有什么理由不使用 letconst 作为变量声明的默认关键字?

var 死了吗?如果是,我可以配置我的 linting 工具来拒绝它吗?

最佳答案

由于 es5 仅具有变量的函数作用域,因此您的转译器可能正在创建闭包以模拟 let 关键字的功能。如果您在非函数范围内声明变量(例如循环、ifs 等),这可能会影响代码的最终大小。所以这是目前不这样做的原因之一。它也可能使调试更加困惑,尽管这可以使用源映射来缓解。

实际上没有任何其他缺点。变量提升对于来自其他语言的人来说非常困惑,使用 let 可以避免这种潜在的问题。所以如果可以的话,我现在就使用它。

关于javascript - 我有什么理由不使用 "let"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210940/

相关文章:

javascript - 在JSP、JAVA、WEB.xml中哪里添加x-frame-options :sameorigin ,?

Android R 文件常量不自动更新

ios - 在 iOS 应用程序中在哪里存储全局常量?

c++ - const auto和const type *有什么区别*

javascript - Node.js 不会返回任何内容?

javascript - 为什么函数变量在 var 后面时未定义?

javascript - 重复事务挂起 - web3js,本地 geth

javascript - Ember.js 和 RequireJS

javascript - "let"和 "var"和有什么区别?

javascript - 如何在自定义 React Native 组件中实现按下事件