JavaScript 具有特殊字符或保留字的属性
示例
虽然对象属性符号通常表示为myObject.property,但这将只允许通常在JavaScript变量名称中找到的字符,主要是字母,数字和下划线(_)。
如果需要特殊字符,例如空格、,或用户提供的内容,则可以使用方[]括号表示法。
myObject['special property ☺'] = 'it works!' console.log(myObject['special property ☺'])
全数字属性:
除特殊字符外,全数字的属性名称还需要使用括号表示。但是,在这种情况下,该属性不必写为字符串。
myObject[123] = 'hi!' //数字123自动转换为字符串 console.log(myObject['123']) //注意如何使用字符串123产生相同的结果 console.log(myObject['12' + '3']) //字符串串联 console.log(myObject[120 + 3]) //算术,仍然得出123并产生相同的结果 console.log(myObject[123.0]) //这也是可行的,因为123.0评估为123 console.log(myObject['123.0']) //这不起作用,因为'123'!='123.0'
但是,不建议使用前导零,因为这被解释为八进制表示法。(TODO,我们应该产生并链接到描述八进制,十六进制和指数符号的示例)
另请参见:[数组是对象]示例。