JavaScript:如何在旧浏览器中支持let?

时间:2015-08-14 10:13:21

标签: javascript scope let

好吧,在ES6中,我们使用let语句定义了块范围。它很好,我们可以在现代浏览器中使用它。

旧的怎么样?如何支持它?例如IE8,IE9。有没有标准的技巧来实现这个目标?

3 个答案:

答案 0 :(得分:2)

您可以在此处查看当前的兼容性: https://kangax.github.io/compat-table/es6/#let

请注意,由于目前没有浏览器支持它,您可以使用polyfill或编译器,如https://google.github.io/traceur-compiler

从大多数情况下,使用Run都可以。否则你将不得不在一些闭包中加以模拟它。

答案 1 :(得分:2)

使用babel.js

之类的内容
  

Babel是一个JavaScript编译器。   今天使用下一代JavaScript。

Babel会将您的ES6“转换”为ES5 - 您可能必须将自己限制为ES6的一个子集以支持IE< 9,但据我所知,let没问题。

答案 2 :(得分:2)

ES6中的块级作用域大大修改了解释器定义作用域的方式,并评估了代码。在旧浏览器上无法填充此行为。

使用ES6功能的唯一解决方案是使用符合EcmaScript的{​​{3}}等中间语言(您可以使用ES6功能,包括{ {1}}和let)。

然后,您需要在构建应用程序时将Typescript代码编译为Javascript代码。

另请参阅:Typescript