是否可以使用Typescript在变量中选择与自定义类型相反的方式?
当我定义如下类型时:
type Result = 'table' | 'grid';
然后,任何类型为Result的变量都可以具有“表”或“网格”。
有没有办法得到与“桌子”相反的东西,即“网格”?用布尔值可以完成的方式相同,例如:
let a = false;
// a is false
a = !a;
// a is true
使用'!'而不是确切的语法运算符,但与某种自定义类型相反的想法相同?
答案 0 :(得分:0)
您可以使用以下类型:
type Result = 'table' | 'grid';
let table: Result = 'table';
let other: Exclude<Result, typeof table> = 'grid';
此处other
的类型为grid
,您不能为其分配其他任何内容。
我认为您无法将其分配给变量,类型在运行时不存在。