我有一些生成以下对象的JS代码,
return {
"type": "some thing",
"width": 2,
"colour": "#AA12BB",
"values": [2,3,4]
}
创建这个不是问题。
在为返回此方法的方法编写测试时,访问宽度/类型属性时出现问题:以下断言失败(导致执行/语法错误,当我评论它们时会消失)。
assertEquals('some thing', jsonObj.type);
assertEquals(2, jsonObj.width);
而
assertEquals('#AA12BB', jsonObj.colour);
遍
由于我无法更改我正在做的事情的密钥名称,有没有办法访问这些值?
答案 0 :(得分:3)
试试这个:
assertEquals('some thing', jsonObj["type"]);
assertEquals(2, jsonObj["width"]);
答案 1 :(得分:3)
你的例子适合我。 JavaScript中的'width'和'type'是不是保留字(尽管'typeof'是)。
答案 2 :(得分:0)
点符号不适用于保留字,例如“type”。在这种情况下,您必须使用数组表示法。
Mozilla的Java Script Reserved words列表。