V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
inSpring
V2EX  ›  React

兄弟们, JS/TS 里字符串用 单引号 or 双引号呢? 你们公司对这个有规范吗?

  •  
  •   inSpring · 273 天前 · 6894 次点击
    这是一个创建于 273 天前的主题,其中的信息可能已经有所发展或是发生改变。
    55 条回复    2024-03-01 12:08:45 +08:00
    for8ever
        1
    for8ever  
       273 天前
    单引号
    defunct9
        2
    defunct9  
       273 天前
    单引号
    sweetcola
        3
    sweetcola  
       273 天前
    单引号或者反单引号
    thinkershare
        4
    thinkershare  
       273 天前
    TSLint/ESLint 选择一个,制定一下团队的编码规范(选取最大公约数),提交到公司仓库跑一个 pipeline 做一个代码规范检测不久好了嘛。
    我们目前前端规范是: 全部使用单引号或者`, 尽量避免"。
    jackrebel
        5
    jackrebel  
       273 天前
    我们曾经为了干掉"而干过一个老油条。 见血的那种
    lisongeee
        6
    lisongeee  
       273 天前
    单引号的字符串在中间使用微软拼音输入法时,由于输入法字母间隔符是单引号,会导致编辑器语法错误/高亮失效

    双引号还得多按一个 shit 键

    反引号导致复制粘贴的时候不是合法的 JSON/JSON5 对象,转换配置的时候不好弄

    各有优缺点,如果微软拼音能改这个输入间隔符,那就是单引号了
    dengshen
        7
    dengshen  
       273 天前 via iPhone
    设定团队代码风格,然后按个人风格开发。提交时记得用 prettier 按团队的风格格式化一下就行。 靓仔
    StrangerA
        8
    StrangerA  
       273 天前
    在 eslint 中配好 prettier 插件,代码风格直接让 prettier 定,让团队成员配置 IDE 在保存时用 eslint 格式化就好。
    visper
        9
    visper  
       273 天前
    一会单引号一会双引号,同一个数组里面的字符串有些单引号有些双引号
    l4ever
        10
    l4ever  
       273 天前   ❤️ 7
    prettier 配置的是啥就是啥.
    isa
        11
    isa  
       273 天前
    统一规范就行了, 不过一般都偏好单引号
    Kenmin
        12
    Kenmin  
       273 天前
    一般都是格式化工具接管,不过我个人更倾向双引号——做 i18n 能省不少头发,欧陆诸语用单引号的频次……
    zsh2517
        13
    zsh2517  
       273 天前
    我们是单引号(适用范围:ts, js, jsx, tsx ,不包括 HTML )。当且仅当需要插入变量的时候使用反引号,即 `a = ${a}` 这样。

    不过这个东西反正就算有漏的,eslint --fix 直接自动修复,无所谓了
    ajax10086
        14
    ajax10086  
       273 天前
    单引号,一些搞 Java 的同事写前端代码的时候喜欢用双引号
    importmeta
        15
    importmeta  
       273 天前
    单引号,好多知名的国外的库也用单引号。
    dahaoyoubeifeng
        16
    dahaoyoubeifeng  
       273 天前
    前端工程师一般就是单引号,后端工程师一般就是双引号
    Quarter
        17
    Quarter  
       273 天前 via iPhone
    双引号
    K120
        18
    K120  
       273 天前
    单引号,双引号还要按 shift 麻烦,单引号看上去更简洁。
    wusheng0
        19
    wusheng0  
       273 天前 via Android
    双引号。
    现在格式化工具自动了,因为多按 shift 用单引号没必要
    jisuowei
        20
    jisuowei  
       273 天前
    双引号留给 HTML
    7gugu
        21
    7gugu  
       273 天前
    双引号和单引号混用,这个东西又不影响产物,能用就行了啦
    alanhe421
        22
    alanhe421  
       273 天前
    Track13
        23
    Track13  
       273 天前 via Android
    单引号,不写分号路过。
    然后 prettier 转成双引号并且添加分号(其他人接受不了,没办法)
    LeeReamond
        24
    LeeReamond  
       273 天前
    你们项目不用 lint 的吗。。
    Ackvincent
        25
    Ackvincent  
       272 天前
    单引号或者反单引号
    wangtian2020
        26
    wangtian2020  
       272 天前
    单双引号都不用,我全用模板字符串(` `)
    wangtian2020
        27
    wangtian2020  
       272 天前
    单双引号都不用,我全用模板字符串(`
    lyxxxh2
        28
    lyxxxh2  
       272 天前
    没注意,不过我个人倾向与单引号。
    只需按一下,认真的话,单引号也更顺眼。

    能用 eslint 格式化,就没有遵不遵守问题了。
    lyxxxh2
        29
    lyxxxh2  
       272 天前
    @jackrebel
    "就是"左脚先进公司"吧
    ohoh
        30
    ohoh  
       272 天前
    新项目 prettier 统一配置双引号, 与后端语言一致, 解决意见分歧. 虽然双引号要多敲一个 shfit, 但是既然配置了 prettier, 其实你写代码直接敲单引号, 格式化自动帮忙转了就行. 没有什么心理负担
    realJamespond
        31
    realJamespond  
       272 天前
    双引号,因为 c++,java,go 都用为无缝切换适应
    biidbiid
        32
    biidbiid  
       272 天前 via iPhone
    单引号
    sjhhjx0122
        33
    sjhhjx0122  
       272 天前
    都一样反正有 prettier 保存自动格式化
    sleepybear1113
        34
    sleepybear1113  
       272 天前
    本人 Java 后端,因为 Java 中用的是 双引号,所以为了统一,js 中也是全量 双引号。但是看一开始就接触前端的人都是用的单引号,有过后端的可能会选择双引号?
    LandCruiser
        35
    LandCruiser  
       272 天前
    无所谓,脚本语言你爱用啥用啥,既不影响最终结果,也不影响阅读。顶多影响某菜鸟的心情而已。。。
    tedding
        36
    tedding  
       272 天前
    huijiewei
        37
    huijiewei  
       272 天前
    以前一直用单引号,但是新项目 prettier 没做任何配置,默认双引号了
    justdoit123
        38
    justdoit123  
       272 天前
    随意。prettier 配置好,加上 githook ,让它自动去 format 。

    纯前端团队,建议单引号,毕竟不用按 Shift 。 夸语言团队,可以使用 双引号。在一些语言里,单引号表示 char ,双引号表示字符串。
    qqqtz
        39
    qqqtz  
       272 天前
    全部用 template string🤣
    pkoukk
        40
    pkoukk  
       272 天前
    不知道用什么规范就从 github 上抄一个流行的
    然后一切按规范走,不然自定义村规真的很蠢,而且很容易扯皮
    newaccount
        41
    newaccount  
       272 天前   ❤️ 1
    与是否多按一个 shift 无关
    古早年代,html 标签的属性里面经常写一些 js ,而 html 的属性通常使用双引号,里面写 js 自然使用单引号避免需要转意字符
    这个习惯向外扩展,演变成写 js 的时候使用单引号,在 js 中拼接的 html 使用双引号
    没啥特别规则,单纯为了好记,html 双引号、js 单引号
    ClarkAbe
        42
    ClarkAbe  
       272 天前
    肯定双引号, 不光在 Javascript, 其他语言也一样...而且单引号在 Golang 里面表示字节, 万一养成坏习惯就...
    laoona
        43
    laoona  
       272 天前
    @jackrebel 老哥,够狠。我们也是要求使用单引号,提交时,eslint + prettier 检测
    liuzhaowei55
        44
    liuzhaowei55  
       272 天前 via Android
    现在单引号用的多一些,但 vscode 中 tailwindcss 针对单引号不会弹出 tips ,不知道怎么能配置下
    daliusu
        45
    daliusu  
       272 天前
    都 2024 年了,这种东西有个鸡毛争论,还按键多不多一个都出来了,你们是不用 eslint 还是不用 prettier ? 多双不都根据规则自动变了吗
    shimada666
        46
    shimada666  
       272 天前
    我是 eslint 引 antfu 的规范然后直接用
    xu455255849
        47
    xu455255849  
       272 天前   ❤️ 1
    思考这种事情都是浪费时间 并不会让你多涨一毛工资 多赚一块钱
    如果是团队能用工具规范的就用工具
    如果你是个人开发,那就以你为准
    Mexion
        48
    Mexion  
       272 天前
    个人偏好使用双引号
    Roojay
        49
    Roojay  
       272 天前   ❤️ 1
    习惯 HTML 属性值使用双引号 ” ,对 JS 字符串使用单引号 ’,例如:
    var button = $('<button type="button" class="btn btn-primary">Primary</button>');
    xzh654321
        50
    xzh654321  
       272 天前
    双引号
    libook
        51
    libook  
       272 天前
    个人习惯:
    - 字符串用单引号
    - 有模板需求用反引号
    - 代码中的 JSON 片段,字段名和字符串值用双引号
    ajan
        52
    ajan  
       272 天前
    单引号
    gibber
        53
    gibber  
       271 天前
    @libook 后面两点不是语法强制要求的吗
    yichengxian
        54
    yichengxian  
       271 天前
    单包双,如果你要在双引号里面放双引号就不行了,所以建议单引号
    xiangyuecn
        55
    xiangyuecn  
       271 天前
    科学做法当然是:str="123"+aa+'abc'+bb+`456` 增加被替代成本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1237 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:07 · PVG 02:07 · LAX 10:07 · JFK 13:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.