使用TypeScript的开放式函数参数

8 浏览
0 Comments

使用TypeScript的开放式函数参数

在我看来,TypeScript 语言的主要关注点之一是支持现有的原生 JavaScript 代码。这是我一开始的印象。看看下面这个完全有效的 JavaScript 函数:

注意:我并不是说我喜欢这种方法。我只是说这是一个有效的 JavaScript 代码。

function sum(numbers) { 
    var agregatedNumber = 0; 
    for(var i = 0; i < arguments.length; i++) { 
        agregatedNumber += arguments[i];
    }
    return agregatedNumber;
}

所以,我们可以用任意数量的参数来调用这个函数:

console.log(sum(1, 5, 10, 15, 20));

然而,当我在 TypeScript Playground 上尝试时,它会给出编译时错误。

我假设这是一个 bug。假设我们没有兼容性问题,那么有没有办法用开放式参数来编写这种类型的函数?比如 C# 中的 params 特性?

0