错误“无效的括号赋值模式”背景信息

kca*_*kca 5 javascript reactjs

在我的React项目中,我收到此错误:

SyntaxError: ... Invalid parenthesized assignment pattern
const add = (a, b) = { return a + b; };
             ^
Run Code Online (Sandbox Code Playgroud)

我确实理解该错误,但令我惊讶的是我找不到有关它的任何信息

  • 它从何而来 ?
  • 它记录在哪里?

我想了解什么

我确实理解这里的问题(这个箭头函数中缺少“>”),但我想知道(1)这个错误到底来自哪里(不是浏览器?),以及(2)我在哪里可以找到有关它的信息。

错误消息显然将此解释为错误的赋值,而不是错误的箭头函数:

const add = (a, b) = { return a + b; };
// error ----^
// actually wrong --^
Run Code Online (Sandbox Code Playgroud)

它显然不是来自哪里:

如果我在NodeJs CLI中编写相同的语句,我会得到:

const add = (a, b) = { return a + b; };
// error ----^
// actually wrong --^
Run Code Online (Sandbox Code Playgroud)

在Firefox 控制台中:

const add = (a,b) = { return ''; }
            ^^^^^
ReferenceError: Invalid left-hand side in assignment
Run Code Online (Sandbox Code Playgroud)

请注意,我使用 Firefox 进行开发,但开发期间的错误消息与我在 Firefox 控制台中尝试相同操作时的错误消息不同(Invalid parenthesized assignment patternSyntaxError: invalid assignment left-hand side

小智 3

由于您使用的是 ES6 箭头函数,因此必须定义=>

const add = (a, b) = { return a + b; }; // here you missed arrow for function **=>**

const add = (a, b) **=>** { return a + b; }; //modified by adding **=>**
Run Code Online (Sandbox Code Playgroud)