• Как дописать typeof всем типам из юнион типа?

    @disappearedstar
    Фронтенд-разработчик
    typeof можно применять только к тем сущностям, которые имеют value-контекст. А тип, наоборот, можно сконструировать из тех сущностей, которые имеют type-контекст. Полагаю, Vasya и Petya —это енумы или классы (сущности, которые в TypeScript имеют и type-, и value-контексты). Но в таком случае тип type1 при объявлении потерял все value-контексты своих составляющих, и преобразовать его в в type2 не получится.

    Но можно сделать так:
    const type1 = { // используем value-контексты Васи и Пети
      Vasya,
      Petya,
    }
    type type2 = (typeof type1)[keyof typeof type1] // выводится в typeof Vasya | typeof Petya
    Ответ написан
    Комментировать