首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取typescript中的最后一个函数参数

获取typescript中的最后一个函数参数
EN

Stack Overflow用户
提问于 2018-09-08 03:43:11
回答 1查看 80关注 0票数 0

我正在尝试分解函数的参数,该函数只关心传入的最后一个参数,将它的值绑定到变量next;下面的代码在普通的js节点10中运行良好:

代码语言:javascript
运行
复制
> function f(...{length, [length - 1]: next}) { console.log(next) }
> f(1,2,3,4)
4

然而,typescript中的相同结构给了我:

代码语言:javascript
运行
复制
error TS2501: A rest element cannot contain a binding pattern.

function (...{length, [length - 1]: next}) {
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-08 06:19:34

这是一个非常有趣的问题,因为基本上"TS是JS的超集“这句话在这里不起作用。

事实证明,当我们试图同时在析构和扩展运算符中使用绑定模式时,我们会得到一个错误:

当前在TS诊断消息文件中存在A_rest_element_cannot_contain_a_binding_pattern_2501的显式错误

此外,在TypeScript代码库中有一个open Pull Request,它可能会解决这个“问题”(不确定这是一个问题还是别的什么)。

但您始终可以为您的任务选择此方法:

代码语言:javascript
运行
复制
function f(...args) {
    console.log(args[args.length - 1]);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52228744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档