Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SyntaxError:无效的解构分配目标或引用错误:左侧的分配无效?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript SyntaxError:无效的解构分配目标或引用错误:左侧的分配无效?

Javascript SyntaxError:无效的解构分配目标或引用错误:左侧的分配无效?,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个代码示例: var a = 10; ({a}) = 0; 在Google Chrome中,它显示了一个错误:SyntaxError:Invalid destructuring assignment target 在Firefox中,它显示了一个错误:ReferenceError:invalid assignment left-side 实际上,我想了解它是什么类型的错误?嗯,它只是无效的语法。您需要在括号[1]中放入一个分解模式: 如果LeftHandSideExpression既不是

我有一个代码示例:

var a = 10;
({a}) = 0;
在Google Chrome中,它显示了一个错误:
SyntaxError:Invalid destructuring assignment target

在Firefox中,它显示了一个错误:
ReferenceError:invalid assignment left-side


实际上,我想了解它是什么类型的错误?

嗯,它只是无效的语法。您需要在括号[1]中放入一个分解模式:

如果LeftHandSideExpression既不是ObjectLiteral,也不是ArrayLiteral,并且LeftHandSideExpression的IsValidSimpleAssignmentTarget为
false
,则这是早期引用错误[2]

作为LeftHandSideExpression的
({a})
是一个括号化的表达式,而不是ObjectLiteral,括号中不包含简单的赋值目标

您可能正在寻找:

1:但令人惊讶。

2:Chrome抛出了一个
SyntaxError
然后似乎是错误的,这只是无效的语法。您需要在括号[1]中放入一个分解模式:

如果LeftHandSideExpression既不是ObjectLiteral,也不是ArrayLiteral,并且LeftHandSideExpression的IsValidSimpleAssignmentTarget为
false
,则这是早期引用错误[2]

作为LeftHandSideExpression的
({a})
是一个括号化的表达式,而不是ObjectLiteral,括号中不包含简单的赋值目标

您可能正在寻找:

1:但令人惊讶。


2:Chrome抛出了一个
语法错误,这似乎是错误的,然后你期望该代码做什么?@Pointy只是测试了语言,语言告诉你那是错误的:)
()
是错误的,右边不是对象,所以这也是错误的。因为您使用了错误的语法:两种浏览器都会抛出不同的错误,这仍然很有趣。您希望代码做什么?@Pointy只是测试语言。语言告诉您这是错误的:)
()
是错误的,右边不是对象,所以这也是错误的。因为你使用了错误的语法:有趣的是,两个浏览器都会抛出不同的错误。嗯,如果这是语法错误,那么在ecmascript中哪里可以找到它的错误?我的意思是,如果是SyntaxError,那么它就是早期错误。我可以在哪里找到?
如果LeftHandSideExpression既不是ObjectLiteral也不是ArrayLiteral,并且IsValidSimpleAssignmentTarget(LeftHandSideExpression)为false,则这是一个语法错误。
在第281页。@Jonaswillms我正确理解代码的这部分
({a})
来自
({a})=0
被视为AssignmentPattern@MaximPro不,在AssignmentPatternHmm的产品中不允许使用括号,如果这是一个语法错误,那么在ecmascript中哪里可以找到它的错误?我的意思是,如果它是SyntaxError,那么它是早期错误。我可以在哪里找到?
如果LeftHandSideExpression既不是ObjectLiteral也不是ArrayLiteral,并且IsValidSimpleAssignmentTarget(LeftHandSideExpression)为false,则这是一个语法错误。
在第281页。@Jonaswillms我正确理解代码的这部分
({a})
来自
({a})=0
被视为AssignmentPattern@MaximPro不,在AssignmentPattern的产品中不允许使用括号
var a = 10;
({a} = 0);