一般都是编译后再执行的,兼容性考虑
可以用babel来把es6编译成es5的语法
代码可以用ES6写 但还是需要编译后发布
可以使用babel进行编译,但是babel只是允许你使用最新最酷炫的JavaScript语法,但对于尚未实现es6功能的浏览器还是无能为力
主流浏览器都支持 ES6(的绝大多数功能)了。
主流浏览器的旧版本还不完全支持。
很多用户还没有升级(比如 iOS 就得升系统)。
因而还得编译成 ES5
主流浏览器支持大部分6的语法了,有些还是不支持。目前的主流做法还是用babel编译成5.
主流浏览器都已经实现了ES6的支持,问题就在与IE,对于IE,我们可以引入一个转换文件,去npm上下载babel,完成后可以看到一个js文件叫做browser.min.js,这个文件就是将ES6语法转为通用的ES5语法的。建议项目中还是用ES5稳妥。
可以用webpack+babel进行编译。不过即使编译了,IE低版本也不支持
关于浏览器的兼容情况,可以访问can i use进行查询。
目前的主要方式还是通过使用Babel编译来解决兼容性问题。
我们目前使用Babel将ES6的代码兼容到了IE8,但这是在放弃某些新特性的条件下(例如export * from "xxx"等)。