Ответ 1
Обновите свой код следующим образом:
const jobs = await rp(fetchJobsOptions) as JobConfig[];
Как указано в книге "Глубокое погружение" TypeScript от Basarat Ali Syed, говорится о типе кастинга:
как foo vs.
<foo>
Первоначально синтаксис, который был добавлен, был
<foo>
. Это показано ниже:var foo: any; var bar = <string> foo; // bar is now of type "string"
Однако в языковой грамматике существует двусмысленность при использовании
<foo> style assertions in JSX: var foo = <string>bar; </string>
Поэтому теперь рекомендуется, чтобы вы просто использовали foo для согласованности.
Утверждение типа против литья
Причина, почему он не назвал "литье типов", заключается в том, что кастинг обычно подразумевает некоторую поддержку во время выполнения. Однако утверждения типа являются чисто конструкцией времени компиляции и способом предоставить подсказки компилятору о том, как вы хотите, чтобы ваш код анализировался.