iblessyou
V2EX  ›  问与答

大家的 js 代码逗号怎么玩的

  •  
  •   iblessyou · Feb 12, 2018 · 4251 views
    This topic created in 3194 days ago, the information mentioned may be changed or developed.

    偶然看到有前置逗号的代码后,第一反应是这人是个 2 货吧 但仔细一琢磨,发现这么搞好处好像还不少的。 删除时只删一行 比如末行不会忘记多个逗号,也不容易漏逗号 能当个行标记,找东西也好找

    统计下大家这样写的多不多

    21 replies  •  2018-08-09 11:32:02 +08:00
    whypool
    whypool
    Feb 12, 2018
    1
    啥意思?
    wu67
    wu67
    Feb 12, 2018
    2
    什么玩意?你是说尾逗号 trailing comma ?
    ZxBing0066
    ZxBing0066
    Feb 12, 2018
    3
    楼主 eslint prettier 了解一下

    跟填不填分号一样,前置还是后置一样。。没啥可说的
    A3m0n
    A3m0n
    Feb 12, 2018
    4
    不懂
    A3m0n
    A3m0n
    Feb 12, 2018
    5
    @A3m0n 借楼问个问题,之前有看到这种写法的:
    var a =a || 12;
    想知道是为什么。
    lzvezr
    lzvezr
    Feb 12, 2018
    6
    @A3m0n 一般用于初始化,如果其他地方 a 已经赋值了,就不再赋值
    maichael
    maichael
    Feb 12, 2018
    7
    @A3m0n

    默认值,如果 a 是 undefined 之类就赋值 12
    gbin
    gbin
    Feb 12, 2018 via Android
    8
    没有代码,怎么评?
    stzz
    stzz
    Feb 12, 2018 via Android
    9
    @A3m0n 还有这写法不对,这样写 a 必然是 12
    LancerComet
    LancerComet
    Feb 12, 2018
    10
    没看明白,是在说逗号表达式?俩字别用
    ![comma-expression.jpg]( https://i.loli.net/2018/02/12/5a810794297a0.jpg)

    另外项目里没有 Lint 帮助做风格控制么?
    newtype0092
    newtype0092
    Feb 12, 2018
    11
    @stzz a 有值的时候还是等于原来的值啊
    ETO
    ETO
    Feb 12, 2018
    12
    @stzz 这有什么不对的?
    fengyj
    fengyj
    Feb 12, 2018 via Android
    13
    规范不同啦。
    但最后压缩后都一样🙄。
    mcfog
    mcfog
    Feb 12, 2018❤️1
    14
    @ETO
    @newtype0092

    1. 如果 a 是在本 scope 中,这个写法的问题在于一般来说 var 声明前置是最佳实践,这样写要么说明重复 var 声明了,要么和直接写 var a=12 没有区别

    2. 如果外层 scope 有 a,那么 var 在本层声明了一个 a 覆盖了外层的 a,写 a || 12 还是没有意义
    https://pastebin.com/PnUZJ4aD


    换句话说,这样写唯一能使||有意义的场景是个非常糟糕的场景(重复 var 声明)
    newtype0092
    newtype0092
    Feb 12, 2018
    15
    @mcfog 那一般验证参数是否定义并给默认值的情况怎么写更好?
    guog
    guog
    Feb 12, 2018 via Android❤️2
    16
    楼已经被带歪了。我说下楼主的示例:
    比如这种
    {
    "key1": "value1"
    ,"key2": "value2"
    ,"key3": "value3"
    }
    在新增加一行或者删除非第一行时不用再担心末尾的逗号,而另一种常见的方式:
    {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
    }
    在新增时总要留意逗号,否则会报错。
    kohos
    kohos
    Feb 12, 2018
    17
    强迫症表示还是喜欢把逗号放后面,不对齐看不爽
    lieqishi
    lieqishi
    Feb 12, 2018
    18
    我知道的情况,好像就两种吧?一种是 var,一种是 arr
    iblessyou
    iblessyou
    OP
    Mar 12, 2018
    20
    @guog 这帖子发了后都忘了, 的确就你正着,居然还有那么多人没理解是怎么回事。
    我考虑了下最后还是决定第二种了,和大家统一吧,不一样的风格别人修改也会有障碍
    Lee90
    Lee90
    Aug 9, 2018
    21
    函数入参加尾后逗号,大部分 android webview 直接报错
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2320 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 13:02 · PVG 21:02 · LAX 05:02 · JFK 08:02
    ♥ Do have faith in what you're doing.