为什么`函数|| (..args) => {...}` 不编译?
Why `func || (..args) => {...}` does not compile?
以下代码段无法编译:
const a = a || (...args) => {
console.log(args);
}
出现以下错误:
repl: Unexpected token (1:16)
> 1 | const a = a || (...args) => {
| ^
2 | console.log(args);
3 | }
通过以下解决方法,它起作用了:
const a = a ? a : (...args) => {
console.log(args);
}
除了原来的问题,@loganfsmyth 已经解决了。下一个问题是,为什么下面的代码有效?
const a = a || () => {}
这段代码中有两个不同的问题。您的问题的具体答案是您需要parens,例如
const a = a || ((...args) => {
console.log(args);
});
但是这也不起作用,因为您也在 a
初始化之前阅读它,这将触发抛出时间死区错误。虽然不清楚为什么要在这段代码中使用 a
。
以下代码段无法编译:
const a = a || (...args) => {
console.log(args);
}
出现以下错误:
repl: Unexpected token (1:16)
> 1 | const a = a || (...args) => {
| ^
2 | console.log(args);
3 | }
通过以下解决方法,它起作用了:
const a = a ? a : (...args) => {
console.log(args);
}
除了原来的问题,@loganfsmyth 已经解决了。下一个问题是,为什么下面的代码有效?
const a = a || () => {}
这段代码中有两个不同的问题。您的问题的具体答案是您需要parens,例如
const a = a || ((...args) => {
console.log(args);
});
但是这也不起作用,因为您也在 a
初始化之前阅读它,这将触发抛出时间死区错误。虽然不清楚为什么要在这段代码中使用 a
。