返回哈希时出现意外的令牌 { 错误
Unexpected token { error when returning hash
在我的反应代码中,我有以下返回哈希的方法:
foo: function() {
return {{a: 1,b: 2,c: 3}, {d: 4}};
}
然而,在return
声明的行上,我得到了这个:
Parse Error: Line 141: Unexpected token { while parsing file
为什么会这样?
您会收到该错误,因为当解析器看到第一个" {
"时,它希望找到下一个键,但会找到另一个" {
",这是无效的语法。请参阅对象文本的正确语法。
由于提供的代码中没有任何足够的描述性来告诉您在尝试返回哈希之外要返回的内容,因此我只能猜测您打算返回 4 个命名数字:
return { a:1, b:2, c:3, d:4 };
或两个带有命名数字的嵌套对象;在这种情况下,您必须为每个嵌套对象提供一个键:
return { nested_a: { a:1, b:2, c:3 }, nexted_b: { d:4 } };
若要了解原因,请考虑将从 foo
函数接收返回值的代码。
var foo_result = foo();
如果你想访问a
,例如,你会如何引用它?对于你返回的原始对象({ { a:1, b:2, c:3 }, { d:4 } }
(,将无法引用包含a
、b
和c
的第一个内部对象。
var a_result = foo_result.?.a; // no way to get at that variable
这就是为什么对象中的每个属性都需要一个键。按照我上面的例子:
var a_result = foo_result.nested_a.a; // this works
关于数组声明的注意事项
当您看到声明如下的数组文本时:
var an_array = [ { a:1, b:2, c:3 }, { d:4 } ];
这是可以的,因为数组有一种隐式的方式来引用它们的元素;通过它们的索引。
var a_result = an_array[ 0 ].a; // array indices start at 0
相关文章:
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- RegEx中出现意外的令牌错误
- django中动态形式的csrf令牌错误
- Javascript代码检查:尝试设置cookie时出现令牌错误
- uglifyjs是一个javascript意外的令牌错误
- javascript意外的令牌错误
- 此代码出现意外的令牌错误
- 试图解析一个大型JSON对象并提取数据,但不断出现意外的令牌错误
- JSON.parse引发意外的令牌错误
- 收到“意外令牌错误”
- 在 Ajax 调用中解析返回数据时出现令牌错误
- 未捕获的引用错误和意外的令牌错误
- 反应本机“意外令牌”错误
- jsbin for 循环不起作用 意外的令牌错误
- 调用函数时出现意外的令牌 } 错误
- 获取 JSON 意外令牌错误
- Gulp - 使用 gulp-uglify 和 gulp-concat 的意外令牌错误
- 返回哈希时出现意外的令牌 { 错误
- 为什么此 JSONP 源会引发“意外令牌”错误
- 意外的令牌错误:在书签中