@castetus

Как описать тип «значение любого из ключей типа»?

Есть интерфейс:
export interface StateInterface {
  listsModule: moduleInt
  vocabularyModule: vocabularyInt
}


Как динамически сделать перечисление типов его ключей? Чтобы возвращалось 'moduleInt | vocabularyInt'?
А если в будущем добавится еще ключ, чтобы он тоже попал в это перечисление.

type MappedType<T> = {
  [K in keyof T]: вот здесь что написать?
}
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Тебе нужен не mapped type, а indexed access type.
type ComplexObject = {a: number, b: string};
type ValueOfComplexObject = ComplexObject[keyof ComplexObject];
const a: ValueOfComplexObject = 42;
const b: ValueOfComplexObject = "str";
// const c: ValueOfComplexObject = {}; // Ошибка!


https://www.typescriptlang.org/docs/handbook/2/ind...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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