Функция Typescript с использованием обобщенных и остальных свойств не собирает все возможные типы автоматически

Это забавно. Вероятно, в петле есть перерывы, как говорили другие. Я бы сделал это так:

while(true)
{
   <main code for function>
   break; // at the end.
}
1
задан Joseph Wang 19 March 2019 в 08:20
поделиться

1 ответ

Typescript видит, что первым параметром является number[], и это исправляет T, а затем вы получаете ошибку для второго. В то время как в теории T можно сделать вывод о string | number, я бы сказал, что текущее поведение, как правило, хорошо, но более вероятно, что предполагаемые союзы приведут к неожиданным ошибкам в других местах.

Вы можете заставить компилятор принять требуемый вызов, если вы заставите компилятор рассматривать все аргументы как единое целое, а не индивидуально, используя кортежи в параметрах отдыха: тип кортежа для примера вызова ([number[], string[]], поэтому для получения типа элемента мы используем T[number][number] (который будет string | number для вызова примера), а возврат к массиву массивов с помощью [][] [ 1112]

0
ответ дан Titian Cernicova-Dragomir 19 March 2019 в 08:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: