@Werbandul

Как исправить ошибку?

Здравствуйте, только начинаю изучать TypeScript, подскажите что не нравится компилятору?))
Создаю обьект и обращаюсь к нему:
const routes: object = {
  '/': 'about',
  '/game': 'game',
  '/score': 'score',
  '/settings': 'settings',
}

root.innerHTML = routes[window.location.pathname];

Получаю такую ошибку:
Элемент неявно имеет тип "any", так как выражение типа "string" не может использоваться для индексации типа "{}".
В типе "{}" не обнаружена сигнатура индекса с параметром типа "string".
  • Вопрос задан
  • 827 просмотров
Решения вопроса 1
WblCHA
@WblCHA
Тип object ─ это пустой объект, а пустой объект будет возвращать ошибку на любой ключ, потому что это пустой объект.
В твоём случае нужно либо не указывать тип вовсе, но тогда routes[window.location.pathname]; вернёт ошибку, поскольку ты будешь использовать тип string, которого в объекте нет (только заданные ключи), либо использовать тип { [key: string]: string }.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы