Как определить константы определенного типа c? - PullRequest
0 голосов
/ 15 апреля 2020

Как я могу определить конструкторы нулевых значений или констант определенного типа c:

interface True {tag: "True"};
interface False {tag: "False"};

type Bool = True | False;

const a = {tag: "True"}; // managed only that
const a = True; // desired

1 Ответ

2 голосов
/ 15 апреля 2020

Вместо использования интерфейса, возможно, вы могли бы использовать const assertion . См. код детской площадки

const True = { tag: "True" } as const
const False = { tag: "False" } as const;

type Bool = typeof True | typeof False; // type Bool = { readonly tag:"True";} | { readonly tag: "False"; }

const a = True;

console.log(a) // { tag: "True" }
...