javascript - Typescript 提供的参数与调用目标的任何签名都不匹配

标签 javascript typescript

所以我有这样一个函数:

function foo(a, b, c, d, e) {
    // something creative
}

当我这样调用它时:

foo(1, 2, 3, 4, 5);

它工作正常。

...但是当我这样调用它时:

const lastTwo = [4, 5];
foo(1, 2, 3, ...lastTwo);

typescript 尖叫着说:

错误 TS2346:提供的参数与调用目标的任何签名都不匹配。

我怎样才能克服它?

最佳答案

您需要使用 apply function ,但您还需要在数组中包含所有参数:

const args = [1, 2, 3, 4, 5];
foo.apply(null, args);

关于javascript - Typescript 提供的参数与调用目标的任何签名都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615286/

相关文章:

typescript - Angular 拦截器,处理 HTTP 错误并重试

javascript - 使用 backbone.js 更新更改的属性

javascript - 更改事件未被识别

typescript - 推断所有值的类型签名

date - typescript 解析字符串 dd-mm-yyyy 至今

javascript - 从 JSON 数组中获取特定字段的数组

javascript - 文字出现放大效果

php - 以 POST 请求发送删除操作

javascript - 如何从javascript中的对象计算新数据

angular - 隐藏 ngx 高级饼图图例