想了解一下大家目前 ES6 的使用情况? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
nyse

想了解一下大家目前 ES6 的使用情况?

  •  
  •   nyse Aug 10, 2018 5800 views
    This topic created in 2820 days ago, the information mentioned may be changed or developed.

    由于部分旧设备(比如 iOS9 以下的设备)或者一些旧浏览器对 ES6 的兼容并不是很好,所以基本目前除了一些后台项目,给用户用的项目基本都没用到 ES6.

    但是面试的时候,发现很多公司都很喜欢牛逼哄哄的问一些关于 ES6 的问题。

    所以想知道目前 ES6 的应用有多广泛,在什么场景、什么项目中会用到?

    Supplement 1    Aug 10, 2018
    那么归根到底,你们的意思就是 ES6 写起来比 ES5 高效、简洁是吧,所以用 ES6 写,再转回 ES5.

    因为我是没试过这么折腾,不知道会不会增加额外的调试成本。

    反倒是被不支持 ES6 的情景坑了。
    20 replies    2018-09-05 08:58:27 +08:00
    internelp
        1
    internelp  
       Aug 10, 2018
    我以为楼主说的是蔚来
    agdhole
        2
    agdhole  
       Aug 10, 2018
    写 Node.js,没有兼容的担忧
    stellar
        3
    stellar  
       Aug 10, 2018 via iPhone
    有了转译器,自创语法都没问题呀
    fengyj
        4
    fengyj  
       Aug 10, 2018 via Android
    es6 是趋势。
    再说也没有叫你用 es6 代码作为生产环境啊。
    你可以 babel 转码成 es5 啊。
    其实 es6 如果你愿意,什么场景都可以用的。
    Mutoo
        5
    Mutoo  
       Aug 10, 2018
    babel 了解一下,现在我们公司都是用 es6 写,然后打包的时候 babel 自动转换成 es5.1
    nyse
        6
    nyse  
    OP
       Aug 10, 2018
    @stellar #3
    @huiyifyj #4
    @Mutoo #5

    那么又为什么要用 babel 转成 ES5 呢,干嘛不直接写 ES5 呢?

    你们一般是怎么用 ES6 的,写后端吗?
    Mutoo
        7
    Mutoo  
       Aug 10, 2018
    @nyse web 外包公司,前端。es6 写起来很方便,语法糖很多。直接写 es5 要累死,累人的事当然是让编译器去处理啦。
    blanu
        8
    blanu  
       Aug 10, 2018
    就算是老系统,只要能在中间加一层编译,都能使用 ES6 语法。
    不支持前端编译的,我认为目前可以退出前端圈了(也许过个 10 年可以回来)。
    UNDEFlNED
        9
    UNDEFlNED  
       Aug 10, 2018
    "但是面试的时候,发现很多公司都很喜欢牛逼哄哄的问一些关于 ES6 的问题" 实际开发都用到 ES8 了,babel 连 ES9 都支持了
    meetocean
        10
    meetocean  
       Aug 10, 2018
    昨天刚刚学习了一下 es8,代码简洁很多,有种想重写 js 的想法,最后还是忍住了,以前写的也好用,没必要折腾。
    AV1
        11
    AV1  
       Aug 10, 2018
    写 ES2018,用 TS 转译,在 IE8 上跑无压力。
    luob
        12
    luob  
       Aug 10, 2018
    对于工程化的前端项目,使用 es6 根本不是成本,反而是降低了对前端水平的要求。

    没有 es6 之前,写个 for 循环得用闭包,定义块级变量得写个立即执行函数,你让新人怎么玩

    如果只有三个页面,那用 jquery 糊一糊就过去了,没有 for 循环也不需要考虑变量污染,就当我什么也没说。
    wu67
        13
    wu67  
       Aug 10, 2018
    反正我是直接写最新的语法, 除非不会用, 以及生成器那块不用
    wu67
        14
    wu67  
       Aug 10, 2018
    babel 转义是兼容旧版本的 webview 和垃圾浏览器, 用 es6 是你个人对技术的追求
    murmur
        15
    murmur  
       Aug 10, 2018
    @meetocean 代码简洁不代表工程性好 真要出了理解问题你还得加倍把注释写回来
    murmur
        16
    murmur  
       Aug 10, 2018
    @luob 没 es6 之前直接用 data 方法把数据打到元素上触发事件的时候直接从 currentTarget 上拿数据 真以为没 let 和闭包就啥都干不了了么
    以前的 jquery 系列 ui 随便找个元素 data 一下上面都挂了一堆数据
    maichael
        17
    maichael  
       Aug 10, 2018
    这是个取舍的问题,用更新的 ES 就代表着更多的语法糖。但是与此同时,兼容性自然是降低的,而为了保持原有的兼容性就要引入 babel 之类的东西,而这会使性能降低。

    事实上我觉得即便你的项目真的对这种兼容看的很重,但这一类老设备总是会被淘汰的,所以对于项目而言,保留迁移到新的 ES 版本的能力总是好的。

    对于个人而言,新的东西总是要学的,即便现在不一定用的上,过一两年情况就可能不一样了。
    maichael
        18
    maichael  
       Aug 10, 2018
    @murmur 事实上这个即便是 ES5 也不可避免,这和人有关,工具毕竟只是一方面。
    TomatoYuyuko
        19
    TomatoYuyuko  
       Aug 10, 2018
    额,面试的时候 很少遇到问 es6 的,有时候 用 es6 回答问题 还不让= =,传统一点的项目都没做工程化就不说了,新一点的项目这东西随人吧,反正语法糖而已,怎么写舒服就怎么写,反正最后都转译了。目前手里的都是前者,没办法,不过遇到麻烦的东西还是会夹点私货用用模板字符串之类的(
    liangfengbo
        20
    liangfengbo  
       Sep 5, 2018
    思路差不多,用 ES6 写代码简洁优雅
    About     Help     Advertise     Blog     API     FAQ     Solana     2985 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 76ms UTC 10:50 PVG 18:50 LAX 03:50 JFK 06:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86