项目中是否可以同时存在ES5和ES6的代码?

最近开始详细的学习ES6了(以前只是大概看了下,貌似有点晚),目的就是为了在工作中开始使用ES6标准编写代码,那么我们都知道Babel了,我可以在Gulp或Webpack中集成其编译器,来转换我写的ES6代码。

其实问题是,如果在工作的项目中开始使用ES6,其实不是从头开始的,而现有项目中大量存在的ES3、ES5的代码如何才能与ES6代码共存?

如果在项目编译阶段使用了Babel,它会如何处理ES3、ES5的代码?是忽略掉吗?

比如我预想的是这样:为已存在的前端项目增加component模块,在这个模块里添加与业务无关的代码,这部分代码就使用ES6来开发,在编译、合并后会不会出现什么问题?

阅读 6.4k
4 个回答

几乎所有给平民用的软件或是协议的升级都是尽可能的兼容以前所有版本的。
即 ES6 包含了所有以前版本的语法,并且尽量保持了不变的的意义。
也是说ES6只是在原来的基础上使用以前版本的保留字实现了一些新的语法,原有的东西意义不变。

ES6是提供了新的api和语法糖,Babel也只是将这些新的api和语法糖编译到ES5和ES3的写法,所以没什么影响

最后都编译成了es5应该可能没啥影响~

可以放心使用,并不会有任何问题。

推荐问题