gpt4 book ai didi

javascript - TypeScript 的开放式函数参数

转载 作者:IT王子 更新时间:2023-10-29 02:41:14 25 4
gpt4 key购买 nike

IMO,TypeScript 的主要关注点之一语言是为了支持现有的 vanilla JavaScript 代码。这是我第一眼的印象。查看以下完全有效的 JavaScript 函数:

Note: I am not saying that I like this approach. I am just saying this is a valid JavaScript code.

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 尝试这个时,它给出了编译时错误。

我假设这是一个错误。假设我们没有兼容性问题。那么,有没有什么办法可以写出这种带有开放式参数的函数呢?例如 C# 中的 params 功能?

最佳答案

TypeScript 的做法是在参数名称前放置省略号运算符 (...)。上面的内容可以写成,

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

这将正确地键入检查

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

关于javascript - TypeScript 的开放式函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12697275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com