Я использую поток для проверки типов, и у меня есть следующая функция.
function foo(x: Array<number> | Array<string>) {
const s = x.map(i => i);
}
Мне нужно использовать Array<number> | Array<string>
вместо Array<number | string>
из-за некоторого кода, который генерируется автоматически и находится вне моего контролявозвращает тип Array<number> | Array<string>
.
Очевидно, что независимо от фактического типа x
, я "должен" иметь возможность выполнять над ним операции над массивами.Однако я не могу использовать функцию map
для x и получаю следующую ошибку:
Cannot instantiate array type because string [1] is incompatible with number [2].
Мне интересно, как правильно обойти это ивозможность выполнения операций с массивами без получения ошибки.
Связь с скриптом потока.