在我的React项目中,我得到了这个错误:
SyntaxError: ... Invalid parenthesized assignment pattern
const add = (a, b) = { return a + b; };
^
我确实理解错误,但我很惊讶我找不到任何关于它的信息。
- 它是从哪里来的?
- 它在哪里被记录?
我想知道的是
我确实理解这里的问题 (箭头函数中缺少'〉'),但我想知道(1)这个错误到底来自哪里(不是浏览器?),以及(2)我可以在哪里找到有关它的信息。
错误消息显然将其解释为错误的赋值,而不是错误的箭头函数:
const add = (a, b) = { return a + b; };
// error ----^
// actually wrong --^
它显然不是来自哪里:
如果我在NodeJs CLI中编写相同的语句,则会得到:
const add = (a,b) = { return ''; }
^^^^^
ReferenceError: Invalid left-hand side in assignment
在Firefox控制台:
SyntaxError: invalid assignment left-hand side
请注意,我正在使用Firefox进行开发,但开发期间的错误消息与我在Firefox控制台中尝试相同操作时的错误消息不同(Invalid parenthesized assignment pattern
与SyntaxError: invalid assignment left-hand side
)
2条答案
按热度按时间xt0899hw1#
由于使用的是ES6箭头函数,因此必须定义**=〉**
7uzetpgm2#
错误消息来自Babel parser。
该文本在babel / packages / babel-parser / src / parse-error / standard-errors.ts中定义:
文档
这些类型的错误 (显然) 没有在用户级别上记录,但在babel / packages / babel-parser / src / util / expression-scope.ts的源代码中有一些解释:
第32行:
第164行: