由于部分旧设备(比如 iOS9 以下的设备)或者一些旧浏览器对 ES6 的兼容并不是很好,所以基本目前除了一些后台项目,给用户用的项目基本都没用到 ES6.
但是面试的时候,发现很多公司都很喜欢牛逼哄哄的问一些关于 ES6 的问题。
所以想知道目前 ES6 的应用有多广泛,在什么场景、什么项目中会用到?
1
internelp 2018-08-10 12:34:14 +08:00
我以为楼主说的是蔚来
|
2
agdhole 2018-08-10 12:35:29 +08:00
写 Node.js,没有兼容的担忧
|
3
stellar 2018-08-10 12:37:33 +08:00 via iPhone
有了转译器,自创语法都没问题呀
|
4
huiyifyj 2018-08-10 12:38:13 +08:00 via Android
es6 是趋势。
再说也没有叫你用 es6 代码作为生产环境啊。 你可以 babel 转码成 es5 啊。 其实 es6 如果你愿意,什么场景都可以用的。 |
5
Mutoo 2018-08-10 12:39:46 +08:00
babel 了解一下,现在我们公司都是用 es6 写,然后打包的时候 babel 自动转换成 es5.1
|
6
nyse OP |
8
blanu 2018-08-10 12:59:15 +08:00
就算是老系统,只要能在中间加一层编译,都能使用 ES6 语法。
不支持前端编译的,我认为目前可以退出前端圈了(也许过个 10 年可以回来)。 |
9
UNDEFlNED 2018-08-10 13:27:01 +08:00
"但是面试的时候,发现很多公司都很喜欢牛逼哄哄的问一些关于 ES6 的问题" 实际开发都用到 ES8 了,babel 连 ES9 都支持了
|
10
meetocean 2018-08-10 13:43:00 +08:00
昨天刚刚学习了一下 es8,代码简洁很多,有种想重写 js 的想法,最后还是忍住了,以前写的也好用,没必要折腾。
|
11
DOLLOR 2018-08-10 13:58:32 +08:00
写 ES2018,用 TS 转译,在 IE8 上跑无压力。
|
12
luob 2018-08-10 14:36:45 +08:00
对于工程化的前端项目,使用 es6 根本不是成本,反而是降低了对前端水平的要求。
没有 es6 之前,写个 for 循环得用闭包,定义块级变量得写个立即执行函数,你让新人怎么玩 如果只有三个页面,那用 jquery 糊一糊就过去了,没有 for 循环也不需要考虑变量污染,就当我什么也没说。 |
13
wu67 2018-08-10 16:18:03 +08:00
反正我是直接写最新的语法, 除非不会用, 以及生成器那块不用
|
14
wu67 2018-08-10 16:18:57 +08:00
babel 转义是兼容旧版本的 webview 和垃圾浏览器, 用 es6 是你个人对技术的追求
|
16
murmur 2018-08-10 16:23:32 +08:00
@luob 没 es6 之前直接用 data 方法把数据打到元素上触发事件的时候直接从 currentTarget 上拿数据 真以为没 let 和闭包就啥都干不了了么
以前的 jquery 系列 ui 随便找个元素 data 一下上面都挂了一堆数据 |
17
maichael 2018-08-10 16:33:08 +08:00
这是个取舍的问题,用更新的 ES 就代表着更多的语法糖。但是与此同时,兼容性自然是降低的,而为了保持原有的兼容性就要引入 babel 之类的东西,而这会使性能降低。
事实上我觉得即便你的项目真的对这种兼容看的很重,但这一类老设备总是会被淘汰的,所以对于项目而言,保留迁移到新的 ES 版本的能力总是好的。 对于个人而言,新的东西总是要学的,即便现在不一定用的上,过一两年情况就可能不一样了。 |
19
TomatoYuyuko 2018-08-10 16:42:20 +08:00
额,面试的时候 很少遇到问 es6 的,有时候 用 es6 回答问题 还不让= =,传统一点的项目都没做工程化就不说了,新一点的项目这东西随人吧,反正语法糖而已,怎么写舒服就怎么写,反正最后都转译了。目前手里的都是前者,没办法,不过遇到麻烦的东西还是会夹点私货用用模板字符串之类的(
|
20
liangfengbo 2018-09-05 08:58:27 +08:00
思路差不多,用 ES6 写代码简洁优雅
|