【问题标题】:Force at least one argument for rest parameter强制至少一个参数作为剩余参数
【发布时间】:2016-12-09 05:48:05
【问题描述】:

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

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

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

【问题讨论】:

    标签: arrays typescript ecmascript-6 variadic-functions


    【解决方案1】:

    一种可能的解决方案是在其余参数前面添加一个常规参数,然后像这样将它连接回函数体中

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      相关资源
      最近更新 更多