• 请不要在回答技术问题时复制粘贴 AI 生成的内容
caniuse
V2EX  ›  程序员

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

  •  1
     
  •   caniuse · Jun 1, 2017 · 25860 views
    This topic created in 3442 days ago, the information mentioned may be changed or developed.
    130 replies  •  2026-01-28 13:07:27 +08:00
    1  2  
    ❮ ❯
    HFcbyqP0iVO5KM05
    HFcbyqP0iVO5KM05
    Jun 2, 2017 via Android
    102
    还是 Python 好
    缩进啊,Elegant
    AlphaTr
    AlphaTr
    Jun 2, 2017
    103
    选择加分号,代码是写给人看的,加分号看起来比较舒服而已
    WytheHuang
    WytheHuang
    Jun 2, 2017
    104
    加了感觉好很多~
    plqws
    plqws
    Jun 2, 2017
    105
    babili 可以给不加分号的代码进行压缩
    wobuhuicode
    wobuhuicode
    Jun 2, 2017 via iPhone
    106
    C++加 node 写 js 时候自动不加分号,写 C 的时候切换回加分号,没毛病
    solee
    solee
    Jun 2, 2017
    107
    个人习惯而已吧,可能和我也写过 java 有关 我习惯有分号的。
    pathen
    pathen
    Jun 2, 2017
    108
    eslint standard 但有些情况一定要加!譬如;[a,b,c]这种
    Sapp
    Sapp
    Jun 2, 2017
    109
    @pathen 事实上这种情况很少,反倒是 (fun)() 这种比较多
    Sapp
    Sapp
    Jun 2, 2017
    110
    @coolcoffee 这种前面加分号似乎已经算是常识问题了... ;(xxx)()
    yolio2003
    yolio2003
    Jun 2, 2017
    111
    说一定要加的都是不懂 js 的渣渣,不加的都是懂点 js 的变态,所以加还是不加,听老板的。。。
    bertonzh
    bertonzh
    Jun 2, 2017
    112
    加分号唯一的理由是:

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

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

    所以我的观点是不要加。
    caniuse
    caniuse
    OP
    Jun 2, 2017
    113
    @yolio2003 我都没见过老板
    qianlifeng
    qianlifeng
    Jun 2, 2017
    114
    有啥好讨论的,喜欢加的就加,不喜欢加的就不加
    WheatField
    WheatField
    Jun 2, 2017 via iPhone
    115
    我个人偏向加分号,毕竟我学的第一个语言就是加分号的 C,有了分号,我才觉得就是计算机语言
    R18
    R18
    Jun 2, 2017
    116
    不加分号 压缩,混淆的时候怎么办
    broker
    broker
    Jun 2, 2017
    117
    看了一下 ecma-262 关于自动添加分号的说明,如果按照官方的实现不加分号 parse 的时候效率会低一些
    Ahri
    Ahri
    Jun 2, 2017
    118
    有个叫 npm 的开源项目不加分号。
    hoggchan
    hoggchan
    Jun 2, 2017 via Android
    119
    为什么那么多人写 lua 不喜欢加分号
    hdr01
    hdr01
    Jun 2, 2017
    120
    如果(加分号)
    好样的;
    不然
    打死你;
    jininij
    jininij
    Jun 2, 2017 via Android❤️1
    121
    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
    autoxbc
    Jun 2, 2017
    122
    如果 js 是一种不需要加分号的语言,为什么有 5 种情况需要在行首加分号?
    如果这是你设计的语言,会不会弄这么丑陋的规则?
    woostundy
    woostundy
    Jun 2, 2017
    123
    @dong3580 不增加流量,编码位数是一样的
    LioMore
    LioMore
    Jun 2, 2017
    124
    我是来看笑话的
    doubleflower
    doubleflower
    Jun 3, 2017
    125
    @jininij 新手?正常的团队都有用 eslint,你这段编辑器就报错了。
    mingyun
    mingyun
    Jun 4, 2017
    126
    还是习惯性的加
    mkeith
    mkeith
    Jun 5, 2017
    127
    @jininij 你这段代码加不加分号有区别吗?
    superPershing
    superPershing
    Jun 15, 2017
    128
    前 Python 党表示已经习惯了写 js 不加分号
    vianEm
    vianEm
    Jul 26, 2019
    129
    @mkeith 肯定有区别啊....var a = "g"["a","b","c"]不会自动插入分号
    simlesos
    simlesos
    Jan 28
    130
    反正都是自动 format 成项目允许的格式,加不加不影响自己写代码的风格
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1634 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 23:34 · PVG 07:34 · LAX 15:34 · JFK 18:34
    ♥ Do have faith in what you're doing.