定义接受可选参数的 lambda 函数时遇到问题。奇怪的是,如果我使用完整的“函数”语法,匿名函数可以工作,但 lambda 速记/箭头语法会产生如下错误:
- 当前范围内不存在名称“a”
- 提供的参数与调用目标的任何签名都不匹配
- 预期的 ')'
例子:
(function (a, b?) => { console.log(a, b); })("a"); // OK
((a, b?) => { console.log(a, b); })("a", "b"); // Errors
((a, b) => { console.log(a, b); })("a", "b"); // OK