====== Формирование типов по Enum ====== enum ActionType { Str = "string", Num = "number", Bool = "boolean" } type Action = | {type: ActionType.Str, payload: string} | {type: ActionType.Num, payload: number} | {type: ActionType.Bool, payload: boolean} let x: Action = ({type: ActionType.Num, payload: 6}) console.log(typeof x.payload === x.type)