Есть 2 возможных способа обойти это:
- Широкий тип для
SUMS
Typescript выводит тип SUMS
, если вы не предоставляете аннотацию как:
{
sum_1: {};
sum_2: {};
sum_3: {};
sum_4: {};
}
Вместо этого вы можете расширить этот тип до {[key: string]: {}}
, и это позволит вам получить доступ к элементам здесь, используя SUMs[string]
Вместо этого вы можете ввести assert свой ключ следующим образом:
for (let i of [1, 2, 3, 4]) {
const key = `sum_${i}`;
const sum = SUMs[key as keyof typeof SUMs]; // you're asserting that `key` can only be keys of the `SUMs` object
console.log(sum);
}
Возможно (2) более правильный подход