【问题标题】:Is there any reason not to abandon "var"?有什么理由不放弃“var”吗?
【发布时间】:2017-08-29 15:36:51
【问题描述】:

在学习JavaScript的过程中,了解到Letconst的引入是为了解决Var在全局作用域和提升以及重新声明不报错的问题。

现在我可以在不使用var 的情况下完全编写代码吗?还是我应该暂时了解它们并等到它们被广泛“接受”?

也就是说,如果我暂时只使用letconst,我应该担心兼容性问题吗?

【问题讨论】:

  • var 仍有它的用途:stackoverflow.com/questions/762011/…
  • 您应该担心与letconst 的兼容性问题,因为它们似乎在IE10 及更低版本以及各种其他浏览器中均不受支持。
  • @George 转换器存在你知道的。兼容性几乎总是一个红鲱鱼。
  • 很少有浏览器支持es6,你应该坚持旧版本并继续使用var。
  • 我不相信“我会遇到兼容性问题吗?”是一个基于意见的问题,所以投票重新开放。

标签: javascript constants var let


【解决方案1】:

直接回答这个问题 - 不,你不能,因为兼容性问题,@suraj 好心提醒我们。

话虽如此,在现代 JS 开发中,您越来越不可能使用 var,因为 letconst 具有明显的优势,除了 var 的一些特定用途之外,将使用任一 BabelJS TypeScript 甚至是现在的 Webpack 2 来编译代码以实现向后兼容性,因为生产代码将在 vanilla JS 中提供。现代 IDE,比如 WebStorm,甚至会默认在 ES6 模式下对你的 var 进行 lint,以将它们更改为 let

从问题来看,你还在学习JS,你已经问对了问题,所以我建议今天使用letconst来利用ES6的优势,但这会增加处理转译器的复杂性。但是,如果您对此感到满意 - 这就是要走的路。

【讨论】:

  • 转译器的想法听起来很有趣!
猜你喜欢
  • 2018-06-15
  • 2018-02-16
  • 2018-05-08
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
相关资源
最近更新 更多