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

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

for(let item in classes){
    classes.item = 'page'+item
  }
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽