好吧,在ES6中,我们使用let
语句定义了块范围。它很好,我们可以在现代浏览器中使用它。
旧的怎么样?如何支持它?例如IE8,IE9。有没有标准的技巧来实现这个目标?
答案 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