gpt4 book ai didi

javascript - 对象参数接口(interface)的 TypeScript 函数属性...任意数量的 args

转载 作者:行者123 更新时间:2023-11-27 23:48:52 24 4
gpt4 key购买 nike

我在接口(interface)中有一个函数声明,如下所示:

mixin(desc: MixinDescriptor): any;

MixinDescriptor 的定义如下:

interface MixinDescriptor { [id: string]: () => any; }

但是,如果我像这样使用 mixin 函数:

chance.mixin({
test: function(arg1, arg2) {
}
}

VSCode 将指示这不是正确的定义。它可以工作,因为它的实现是这样工作的,但是它的接口(interface)声明必须是错误的。

我尝试将 MixinDescriptor 更改为:

interface MixinDescriptor { [id: string]: (args: any[]) => any; }

但这也不起作用。

我如何更改它,以便它正确地将函数标识为能够接受任意数量的命名参数?

最佳答案

尝试这样的事情

 interface MixinDescriptor { 
[id: string]: (...args: any[]) => any;
}

... 表示该函数可以采用 rest of parameters 。由于剩余参数是可选的,因此该接口(interface)适用于任何类型的函数

另请考虑this example

关于javascript - 对象参数接口(interface)的 TypeScript 函数属性...任意数量的 args,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32890766/

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