带有可选参数的 TypeScript lambda 函数

Posted

技术标签:

【中文标题】带有可选参数的 TypeScript lambda 函数【英文标题】:TypeScript lambda functions with optional parameters 【发布时间】:2012-09-27 15:44:20 【问题描述】:

我在定义接受可选参数的 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

【问题讨论】:

【参考方案1】:

目前在胖箭头 lambda 表达式中存在可选参数注释的错误。

【讨论】:

【参考方案2】:

这是编译器中的一个错误,现在正在修复 [v0.8]。 Lambda 目前提供带有可选参数和剩余参数的错误消息。如果这是一个阻塞问题,请使用长函数语法。

【讨论】:

这是在项目页面上登录的吗?如果是这样,请提供一个链接,我会投票。

以上是关于带有可选参数的 TypeScript lambda 函数的主要内容,如果未能解决你的问题,请参考以下文章

是否可以有一个带有可选参数的范围?

kotlin lambda 表达式作为可选参数

你可以在 Typescript 函数中有可选的解构参数吗?

typescript 可选的路由参数

typescript 可选的路由参数

TypeScript 中的可选参数可以为空吗?