在 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
.. 其中 Identifier
是 defined here。标识符中不能包含点。所以,很明显,您违反了语言的 grammar/syntax。
据我了解,您想根据某个变量的值来设置密钥。在这种情况下,您使用方括号表示法。
var d = {}
d[_c.RESPONSE] = 'bla';
我正在尝试自学 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
.. 其中 Identifier
是 defined here。标识符中不能包含点。所以,很明显,您违反了语言的 grammar/syntax。
据我了解,您想根据某个变量的值来设置密钥。在这种情况下,您使用方括号表示法。
var d = {}
d[_c.RESPONSE] = 'bla';