2016-08-03 46 views
1

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

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

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

回答

3

一个可能的解决办法是只需添加在其他参数前常规参数和连接回函数体中,像这样

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