打字稿:问号与未定义类型联合

时间:2020-06-10 11:10:37

标签: typescript non-nullable

在成员的名称末尾带有问号的情况下,类型签名会自动扩展为包括 Part House Society Present_Delivery Replaced House_Target Society_Target replacement_value priority 17 R H6 S3 20 Y 115.0 250.0 30.0 0.0 20 U H7 S3 15 Y 105.0 250.0 35.0 0.0 0 A H1 S1 10 Y 140.0 330.0 40.0 2.0 。可以在没有该成员的情况下创建实例:

undefined

推断的val类型为interface Option{ val? : number; // hover over val and it tells you that the type is number|undefined } let o: Option = {}; 。到目前为止,我认为这是问号的唯一作用。但是手动注释类型联合并不会产生相同的效果:

number|undefined

为什么第二个代码示例不正确?

1 个答案:

答案 0 :(得分:2)

您的第一个选项说“ val是带有类型数字的可选属性”。它可以在那里,但不必。

您的第二个选项说“ val是必需的属性,其值可以是数字或未定义”。因此,它将引发编译器错误。