有没有办法在Angular中选择自定义类型的对立面?

时间:2019-05-20 11:35:24

标签: angular typescript types

是否可以使用Typescript在变量中选择与自定义类型相反的方式?

当我定义如下类型时: type Result = 'table' | 'grid'; 然后,任何类型为Result的变量都可以具有“表”或“网格”。

有没有办法得到与“桌子”相反的东西,即“网格”?用布尔值可以完成的方式相同,例如:

let a = false;
// a is false
a = !a;
// a is true

使用'!'而不是确切的语法运算符,但与某种自定义类型相反的想法相同?

1 个答案:

答案 0 :(得分:0)

您可以使用以下类型:

type Result = 'table' | 'grid';
let table: Result = 'table';

let other: Exclude<Result, typeof table> = 'grid';

此处other的类型为grid,您不能为其分配其他任何内容。

我认为您无法将其分配给变量,类型在运行时不存在。