在TypeScript中,将类型与”undefined”或”null”合并时为什么没有效果?

huangapple go评论60阅读模式
英文:

Why does augmenting a type with undefied or null have no effect in typescript

问题

为什么类型 T1、T2 和 T3 相等?

类型 T1 = 数字
类型 T2 = T1 | 未定义 // 仍然只是数字
类型 T3 = T1 | 空      // 仍然只是数字
英文:

Why are types T1, T2 and T3 equal?

type T1 = number
type T2 = T1 | undefined // is still just number
type T3 = T1 | null      // is still just number

答案1

得分: 1

"strictNullChecks" 在 tsconfig 中被注释掉时才会发生这种情况,因此配置影响 TypeScript 对类型的视图。

英文:

this happens only when

"strictNullChecks": true, 

is commented out in tsconfig. so the config affects how typescript sees types.

huangapple
  • 本文由 发表于 2023年6月9日 02:06:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/76434593.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定