TS7053 (typescript) как избавиться от этой ошибки при обращении к ключам объекта?
Есть такой код:
interface Obj {
a: string
b: string
}
const obj: Obj = {
a: 'a',
b: 'b',
}
Object.entries(obj).forEach(([key, value]) => {
obj[key] = `.${value}` // << TS7053: Element implicitly has an 'any' type
// because expression of type 'string' can't be used to index type 'Obj'.
// No index signature with a parameter of type 'string' was found on type 'Obj'.
})
Подскажите, как правильно это написать?
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
Для использования переменной типа string в качестве ключа, нужно добавить описание индексатора в интерфейс [index: string]: string;
interface Obj {
a: string;
b: string;
[index: string]: string;
}