这同时适用于aGood
和aBad
:
type AOptional = {x?: boolean};
const aBad: AOptional = { x: undefined };
const aGood: AOptional = { };
我不希望它起作用。我只希望aGood
通过类型检查。
有没有办法强制执行AOptional
?
谢谢!
答案 0 :(得分:2)
您可以区分{ x: boolean | undefined }
和{ x?: boolean }
。 { x: boolean | undefined }
可分配给{ x?: boolean }
,但不能相反。
但是在任何编译器设置下,类型为{ x: undefined }
的对象文字都可以分配给{x?: boolean }
。