@awenn2015
Веб-программист самоучка

Почему obj[key: keyof obj] возвращает any тип а не перечисление типов всех свойств обьекта?

Всем привет, не могу понять в чем проблема этого кода:

const obj: ISomeType = { ...properties };
// Ключ который мы например получаем откуда то
const key: keyof ISomeType = "some_obj_key";
// у переменной data тип any а не перечисление всех типов свойств obj как мы ожидаем
const data = obj[key]
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
@awenn2015 Автор вопроса
Веб-программист самоучка
кажется понял в чем проблема, у некоторых полей из объекта тип any, может поэтому конечные данные определяются именно как any
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vinsssten
Typescript, зачастую, не может заглядывать настолько глубоко внутрь ваших типов. В данном примере, вы можете явно указать тип для data:
const data: ISomeType[typeof key] = obj[key];

Тогда тип data, будет равен типу ISomeType по ключу key, а не перечислению всех типов объекта obj.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы