Ответ 1
Все, что вам нужно сделать, это определить ваш result как массив строк, например:
const result : string[] = [];
Код:
const foo = (foo: string) => {
const result = []
result.push(foo)
}
Я получаю следующую ошибку TS:
[ts] Аргумент типа 'string' не присваивается параметру типа 'never'.
Что я делаю неправильно? Это ошибка?
Все, что вам нужно сделать, это определить ваш result как массив строк, например:
const result : string[] = [];
Другой способ это:
const result = [] as any;
Вам нужно ввести result в массив строки const result: string[] = []; ,
Кажется, это недавняя регрессия или какое-то странное поведение в машинописи. Если у вас есть код:
const result = []
Обычно это воспринимается так, как будто вы написали:
const result:any[] = []
однако, если в вашем файле tsconfig есть оба значения noImplicitAny FALSE, и strictNullChecks TRUE, оно будет трактоваться как:
const result:never[] = []
Такое поведение не поддается никакой логике, ИМХО. Включение нулевых проверок изменяет типы записей массива А затем включение noImplicitAny фактически восстанавливает использование any без каких-либо предупреждений??
Если у вас действительно есть массив any, вам не нужно указывать его с помощью дополнительного кода.