【发布时间】:2017-04-25 23:04:52
【问题描述】:
功能范围界定对我来说已经 2 年了。现在我到处读到,我应该使用let 和const 而不是var。我想这主要是因为它是一个新功能。为什么我更喜欢块作用域?
【问题讨论】:
-
因为 JS 长期以来一直被批评为不尊重所有其他语言(至少是著名的语言)都尊重的块作用域。现在 JS 正在向那些语言迈进,填补了很多空白。
-
您不应该这样做,除非您有充分的理由这样做。继续使用 var 的一个很好的理由是它向后兼容。 const 和 let 限制你的代码运行的环境几乎没有什么好处,你可以从 strict mode 获得类似的好处(这是落后的也兼容)。
-
你可以在这里阅读,为什么要使用let和const,它是关于“变量提升”stackoverflow.com/questions/3725546/variable-hoisting
-
@RobG 谢谢!我也是这么想的,这个块作用域没有任何优势。我将在我的爱好项目中使用它,我控制环境,否则 ES5 就可以了。
-
@ibrahimmahrir 我可以接受这个理由。所以其他语言的新手学习js比较容易。