【发布时间】:2021-12-30 20:41:47
【问题描述】:
这是我的代码。
import _ from 'lodash';
function test(num1: number, num2: number) {
console.log(num1, num2);
}
test(..._.take(_.shuffle([0, 1, 2]), 2));
我在 TS 操场和 VSCode 上收到 TS2556 错误。
展开参数必须要么具有元组类型,要么被传递给休息参数。 (ts2556)
我在 repl.it 网站上也遇到了 TS2556 错误。
错误 TS2556:预期有 2 个参数,但有 0 个或更多。
我不知道如何解决这个问题。
【问题讨论】:
-
问题是
_.take的返回类型是number[]..你可以添加类型断言:test(..._.take(_.shuffle([0, 1, 2]), 2) as [number, number]); -
太棒了!!它非常适合我。
标签: typescript lodash spread-syntax