Задать вопрос
Anon3363
@Anon3363

Как исправить ошибку Property 'item' does not exist on type 'Record'?

for(let item in classes){
    classes.item = 'page'+item
  }
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Во-первых: как верно заметил YavaDev: classes[item].
Во-вторых: только вручную, на свой страх и риск:
for(let item in classes) {
    classes[item as keyof typeof classes] = 'page'+item
}
В typescript специально не добавили автоматическую типизацию ключей оставив просто string, так как из-за его структурной природы нельзя наверняка сказать, есть ли в полученном объекте(или его прототипе) ещё какие-то ключи, кроме тех, что указаны в его типе, и, соответственно, нельзя быть уверенным, что ничего не сломается.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
E1ON
@E1ON
Vocaloid lover
Нужно добавить в тип Record свойство item
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽