Vee*_*aha 0 generics types type-level-computation typescript
您能否解释一下为什么以下类型表达式会产生never类型?为什么第二个表达式的计算结果为"c"?
type t1 = ("a" & "b") | ("c" & "d"); // never
type t2 = ("a" & "b") | "c"; // "c"
Run Code Online (Sandbox Code Playgroud)
请记住,这never是包含零值的类型。
t1:不存在同时为"a"和 的值"b",因此类型"a" & "b"与 相同never。对于c和也是如此d。
t2:如果一个值是或同时是和 的"c"值,那么它一定是。"a""b""c"
您可以将never其视为 的恒等操作数,与加法的恒等操作数|相同:是03 + 03
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |