gpt4 book ai didi

具有可变参数计数的函数的 TypeScript 类型签名

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:42 25 4
gpt4 key购买 nike

我在使用接受可变数量参数的函数成员定义接口(interface)时遇到了问题。以下面的对象字面量为例:

var obj = {
func: () => {
for(var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
};

我希望能够定义一个接口(interface),例如:

interface IExample {
func: ( ??? ) => void;
}

这样下面的代码就可以编译无误了:

var test = (o: IExample) {
o.func("a");
o.func("a", "b");
o.func("a", "b", "c");
...
}

最佳答案

TypeScript 使用 ECMAScript 6 spread proposal,

http://wiki.ecmascript.org/doku.php?id=harmony:spread

但添加了类型注释,所以这看起来像,

interface Example {
func(...args: any[]): void;
}

关于具有可变参数计数的函数的 TypeScript 类型签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12739149/

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