type T1 = 1 | 'b' & string | number // "b" | number type T2 = 1 | 2 & 1 | 3 // 1 | 3
我是TS的新手,谁能告诉我为什么是"b" | number和1 | 3,这是怎么回事?
"b" | number
1 | 3
u1ehiz5o1#
&
|
因此,您的代码被解释为:
type T1 = 1 | ('b' & string) | number type T2 = 1 | (2 & 1) | 3
在这种情况下"b" | number和1 | 3是有意义。如果你加上括号,它将工作的方式,你想:
type T1 = (1 | 'b') & (string | number) // 1 | "b" type T2 = (1 | 2) & (1 | 3) // 1
1条答案
按热度按时间u1ehiz5o1#
&
的优先级高于|
因此,您的代码被解释为:
在这种情况下
"b" | number
和1 | 3
是有意义。如果你加上括号,它将工作的方式,你想: