我为此寻找答案,但没有找到答案:
有没有办法为REST参数强制至少一个参数?
在下面的代码中,对logArray的三个调用都是有效的,但我希望第一个调用失败。

function logArray(...elements: number[]) {
    elements.forEach(x => console.log(x));
}

logArray(); // should fail but works
logArray(1);
logArray(1,2);

最佳答案

一种可能的解决方案可以是在REST参数前面添加一个正则参数,并将它连接到函数体中,像这样。

function logArray(e1: number ,...erest: number[]) {
    [e1, ...erest].forEach(x => console.log(x));
}

10-04 19:02