Параметры остальных в файле объявления Typescript
Я использую VSCode для анализа моего JS для типов, использующих файл декларации + JSDoc. Это не должно иметь значения, но может быть?
В моей декларации у меня есть
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? Я просто делаю это неправильно?
2 ответа
Не уверен насчет использования function
но обе эти формы должны работать:
declare interface World {
getEntities(...a: any[]): Entity[];
}
или же
declare interface World {
getEntities: (...a: any[]) => Entity[];
}
Похоже, я должен просто делать
declare interface World {
getEntities: function(...args):Entity[]
}
Который не такой же ответ, как первый результат Google.