khusamov
@khusamov
ReactJS, NodeJS, TypeScript, Sencha ExtJS

Как правильно описать тип остаточного параметра (rest parameter), используя объединение массивов?

Пример кода:

function func1(...args: string[] | number[]) {
    //...
}


Текст ошибки:

error TS2370: A rest parameter must be of an array type.


Следующий код мне не нужен, потому что у меня на вход функции будет подаваться
либо массив строк либо массив чисел, но никак не вперемешку - массив чисел или строк.

function func1(...args: (string | number)[]) {
    //...
}
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 1
Asbadcode
@Asbadcode
bad coder
Единственное что нашел, так это по условию:
const renderToolbarCommandItems = <T,>(commandList: Array<number>, ...rest: T extends number ? [string] : [number]) => {сncols.log(rest)}


но меня интересует есть ли возможность сделать опциональным? ведь есть случаи когда аргументы могут не прийти, но при вызове функции если не передать TS ругается на количество аргументов
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы