Javascript保留字?

时间:2009-02-11 19:00:12

标签: javascript

我有一些生成以下对象的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);

由于我无法更改我正在做的事情的密钥名称,有没有办法访问这些值?

3 个答案:

答案 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列表。