我在定义接受可选参数的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
2 回答
这是编译器中的一个错误,现在正在修复[v0.8] . Lambdas目前提供带有optional和rest参数的错误消息 . 如果这是阻塞问题,请使用long函数语法 .
目前,胖箭头lambda表达式中的可选参数注释存在错误 .