V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
caniuse
V2EX  ›  程序员

为什么那么多人写 js 不喜欢加分号

  •  1
     
  •   caniuse · 2017-06-01 14:24:53 +08:00 · 23051 次点击
    这是一个创建于 2769 天前的主题,其中的信息可能已经有所发展或是发生改变。
    129 条回复    2019-07-26 09:31:23 +08:00
    1  2  
    caniuse
        101
    caniuse  
    OP
       2017-06-02 09:33:04 +08:00
    HFcbyqP0iVO5KM05
        102
    HFcbyqP0iVO5KM05  
       2017-06-02 09:35:43 +08:00 via Android
    还是 Python 好
    缩进啊,Elegant
    AlphaTr
        103
    AlphaTr  
       2017-06-02 09:38:57 +08:00
    选择加分号,代码是写给人看的,加分号看起来比较舒服而已
    WytheHuang
        104
    WytheHuang  
       2017-06-02 09:53:26 +08:00
    加了感觉好很多~
    plqws
        105
    plqws  
       2017-06-02 09:57:14 +08:00
    babili 可以给不加分号的代码进行压缩
    wobuhuicode
        106
    wobuhuicode  
       2017-06-02 09:59:22 +08:00 via iPhone
    C++加 node 写 js 时候自动不加分号,写 C 的时候切换回加分号,没毛病
    solee
        107
    solee  
       2017-06-02 10:20:37 +08:00
    个人习惯而已吧,可能和我也写过 java 有关 我习惯有分号的。
    pathen
        108
    pathen  
       2017-06-02 10:29:54 +08:00
    eslint standard 但有些情况一定要加!譬如;[a,b,c]这种
    Sapp
        109
    Sapp  
       2017-06-02 10:39:52 +08:00
    @pathen 事实上这种情况很少,反倒是 (fun)() 这种比较多
    Sapp
        110
    Sapp  
       2017-06-02 10:42:14 +08:00
    @coolcoffee 这种前面加分号似乎已经算是常识问题了... ;(xxx)()
    yolio2003
        111
    yolio2003  
       2017-06-02 10:56:24 +08:00
    说一定要加的都是不懂 js 的渣渣,不加的都是懂点 js 的变态,所以加还是不加,听老板的。。。
    bertonzh
        112
    bertonzh  
       2017-06-02 11:03:17 +08:00
    加分号唯一的理由是:

    > 如果行以 [(+ 等符号开头不加的话,语法不符合预期。

    但是如果使用了 ESlint 或者 TypeScript / flow,这个问题完全可以提前暴露出来。

    所以我的观点是不要加。
    caniuse
        113
    caniuse  
    OP
       2017-06-02 11:16:21 +08:00
    @yolio2003 我都没见过老板
    qianlifeng
        114
    qianlifeng  
       2017-06-02 11:18:18 +08:00
    有啥好讨论的,喜欢加的就加,不喜欢加的就不加
    WheatField
        115
    WheatField  
       2017-06-02 11:33:25 +08:00 via iPhone
    我个人偏向加分号,毕竟我学的第一个语言就是加分号的 C,有了分号,我才觉得就是计算机语言
    R18
        116
    R18  
       2017-06-02 11:34:33 +08:00
    不加分号 压缩,混淆的时候怎么办
    broker
        117
    broker  
       2017-06-02 11:36:54 +08:00
    看了一下 ecma-262 关于自动添加分号的说明,如果按照官方的实现不加分号 parse 的时候效率会低一些
    Ahri
        118
    Ahri  
       2017-06-02 12:43:17 +08:00
    有个叫 npm 的开源项目不加分号。
    hoggchan
        119
    hoggchan  
       2017-06-02 12:57:02 +08:00 via Android
    为什么那么多人写 lua 不喜欢加分号
    hdr01
        120
    hdr01  
       2017-06-02 13:53:03 +08:00
    如果(加分号)
    好样的;
    不然
    打死你;
    jininij
        121
    jininij  
       2017-06-02 15:01:43 +08:00 via Android   ❤️ 1
    var a = "g"
    ["a","b","c"].forEach(function(c) {})
    b = a
    /\s/g.exec(c)
    var a = b + c
    (d + e).toString()
    do { -- a
    ++b
    }while(a >0)
    说不加分号的,告诉我上面的每一句的结果是什么。
    就算你知道,但这并不能说明你很厉害。能写出 flv.js,写出 vue.js,说明你很厉害,但为了装 B 把代码写的难以阅读,除了能让自己意淫一番,并不能证明你的实力。
    知道如何省一个分号并不能证明你的实力。除非你能写出 http://aem1k.com/world 这种级别的代码,如果你做到了,那么恭喜你,你想怎样就怎样,你想用什么格式用什么格式,你想所有变量都用 emoji 都不会有人拦着你。
    autoxbc
        122
    autoxbc  
       2017-06-02 15:50:51 +08:00
    如果 js 是一种不需要加分号的语言,为什么有 5 种情况需要在行首加分号?
    如果这是你设计的语言,会不会弄这么丑陋的规则?
    woostundy
        123
    woostundy  
       2017-06-02 21:00:28 +08:00
    @dong3580 不增加流量,编码位数是一样的
    LioMore
        124
    LioMore  
       2017-06-02 23:49:21 +08:00
    我是来看笑话的
    doubleflower
        125
    doubleflower  
       2017-06-03 11:23:46 +08:00
    @jininij 新手?正常的团队都有用 eslint,你这段编辑器就报错了。
    mingyun
        126
    mingyun  
       2017-06-04 13:09:36 +08:00
    还是习惯性的加
    mkeith
        127
    mkeith  
       2017-06-05 18:20:01 +08:00
    @jininij 你这段代码加不加分号有区别吗?
    superPershing
        128
    superPershing  
       2017-06-15 20:33:24 +08:00
    前 Python 党表示已经习惯了写 js 不加分号
    vianEm
        129
    vianEm  
       2019-07-26 09:31:23 +08:00
    @mkeith 肯定有区别啊....var a = "g"["a","b","c"]不会自动插入分号
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1009 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:25 · PVG 06:25 · LAX 14:25 · JFK 17:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.