[英]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.