[英]Single quotes in JavaScript object literal
我正在查看Google Maps API教程,我看到了這個:
<script type="text/javascript"
src="http://www.google.com/jsapi?autoload={'modules':[{name:'maps', version:3, other_params:'sensor=false'}]}"></script>
為什么modules
用單引號括起來?
盡管不是嚴格要求,將引號括在引號中也是一種很好的做法,以避免與JavaScript保留字沖突的可能性。
想象一下,如果你有class
而不是modules
- class
恰好是JavaScript中的保留字,即使它實際上並沒有在當前規范中使用。
當前接受的答案是錯誤的 - 保留字是有效的標識符名稱,因此它們被允許作為JavaScript中的不帶引號的屬性名稱。
從JavaScript中的Unquoted屬性名稱/對象鍵 ,我對該主題的描述:
如果屬性名稱是數字文字或有效標識符名稱,則只能省略引號。
[...]
括號表示法可以安全地用於所有屬性名稱。
[...]
只有當屬性名稱是有效的標識符名稱時,才能使用點表示法。
我還制作了一個工具,告訴您是否可以使用任何給定的屬性名稱而不帶引號和/或帶點符號。 在mothereff.in/js-properties試試吧。
它不是必需的 ,除非:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.