我正在使用VSCode使用声明文件+ JSDoc将我的JS解析为类型。没关系,但是也许吗?
我的声明中有
declare interface World {
getEntities: function():Entity[],
}
但是我想用可变数量的参数调用getEntities。
world.getEntities( 'zone', 'area' )
这会给我预期的错误:Expected 0 arguments, but got 2.
阅读其他人如何实现它,我应该这样做:
declare interface World {
getEntities: function(...a:any[]):Entity[],
}
但是,我在',' expected.
所在的.d.ts中会收到错误:
。
实际上如何声明带有可变参数的函数?这是VSCode问题吗?还是TS问题?我只是做错了吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
不确定是否要使用function
,但是这两种形式都可以使用:
declare interface World {
getEntities(...a: any[]): Entity[];
}
或
declare interface World {
getEntities: (...a: any[]) => Entity[];
}