在 javascript 中使用另一个字典创建字典时出现意外标记

Unexpected token while creating a dict with another dict in javascript

我正在尝试自学 javascript 以及我遇到的一个简单程序:

var _c = {RESPONSE:'reponse'};

现在,当我尝试使用这个字典创建另一个字典(作为一个值)时,它起作用了

var d = {'bla': _c.RESPONSE};

但是当我尝试使用字典值作为另一个字典中的键时,它会抛出意外的令牌错误

var d = {_c.RESPONSE :'bla'}
SyntaxError: Unexpected token .

我不确定上面的代码有什么问题。有人可以帮忙吗?

错误很简单。它告诉你有一个语法错误。

根据 Javascript 语法,对象声明如下所示:(source,有一些更改。请查看下面的注释。)

ObjectLiteral ⇒  { }  |  { FieldList }
FieldList     ⇒  LiteralField  |  FieldList , LiteralField
LiteralField  ⇒  ObjectKey : AssignmentExpression
ObjectKey     ⇒  Identifier | NumericLiteral | StringLiteral

.. 其中 Identifierdefined here。标识符中不能包含点。所以,很明显,您违反了语言的 grammar/syntax。


据我了解,您想根据某个变量的值来设置密钥。在这种情况下,您使用方括号表示法。

var d = {}
d[_c.RESPONSE] = 'bla';