1. 程式人生 > >js中單引號和雙引號

js中單引號和雙引號

從 html 的角度考慮,確實用單引號會方便很多。但如果是單純的 .js 檔案,我傾向於使用雙引號。

1. 因為 ES6 引入了 template string,template string 用的分隔符 [ ` ] 看起來和單引號[ ' ] 太像了,容易搞混。我們在專案中遇到過,有人在使用單引號字串裡誤用了 template string,導致字串未能正確替換,但是修 bug 的人也沒找到這個錯誤,反而以為是執行環境不支援 ES6,結果就把 template string 幹掉改成用 “%s” 來拼接字串…… 如果用雙引號表示字串,這兩個人根本就不會看錯。

2. 此外,雙引號最直接的好處是,插入單引號會很方便(廢話)。我隨便查閱了 SourceTree, WebStrom, Unity3D 三款軟體的英文提示,發現老外都很少在提示資訊裡插入雙引號,而是在應該用雙引號的地方直接寫單引號。因此為了讓你的軟體逼格更高,文字中間就別插入雙引號了!哈哈~~~

3. 最後,如果你喜歡寫單元測試的話,雙引號還有一個好處是和 JSON 保持一致。例如:
expect(data).to.deep.equal({
  "foo": 0,
  "bar": 1,
  ...
});
這裡的物件 "{ foo: ... }" 其實不是手打的,而是從執行時通過輸出的 JSON 複製過來的,如果用單引號的話,還得再轉換一次才能用……