我已經爲單人或雙人qoutes的字符串字面量的JavaScript(JSON除外)的討論,似乎一個的選擇或其他純粹是任意的,有兩個澄清:現在我們應該使用反引號來引用字符串文字嗎?
- 使用所有代碼都使用相同的約定(沒有
var a="a", b='b'
)。 - 您可以靈活地適應文字,否則這些文字會需要轉義很多字符,從而傷害可讀性(不是
its='it\'s'
也不是normal="the \"normal\" thing"
)。
但是我們現在另一個qouting角色,那就是在模板文本中使用的反引號,這本身是非常不經常在普通的文本或代碼比其他兩個使用,因此需要較少的轉義:
youre = `You're so "normal"!`
對於那些會產生不需要的嵌入式表達式的情況,至多需要留出美元符號。
我試圖想到避免使用反碼作爲編碼標準的原因,取而代之的是其他兩種。
- 是否會損害性能?我想不是真的(我試圖測量,但得到inconclusive results)。如果性能僅取決於要逃脫的字符數量,則可以看到來自邊緣案例(如
youre
)或帶有換行符的文字的改進。 - 打字速度較慢?這取決於你的鍵盤。在我的(西班牙語)中,雙引號和單引號都在數字行中,而且難以觸及,而雙引號要求我按Shift鍵,而反引號只是遠離手指的一個鍵,但需要按Space鍵,所以它很難說這將是我的。
- 瀏覽器兼容性?也許吧。但是時間解決了這個問題,並且在某些情況下它不相關,比如任何打算在Node.js中運行的東西。
是否有其他原因可能會阻止(或鼓勵)將反引號設置爲項目編碼標準中字符串文字的qoute?
上的NodeJS – ZiTAL
@ZiTAL節點的當前版本LTS工作不工作(了好一會兒了) – Kos
''v0.10.29'語法錯誤:意外的令牌ILLEGAL' – ZiTAL