V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
caniuse
V2EX  ›  程序员

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

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

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

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

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