在成员的名称末尾带有问号的情况下,类型签名会自动扩展为包括 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
为什么第二个代码示例不正确?
答案 0 :(得分:2)
您的第一个选项说“ val是带有类型数字的可选属性”。它可以在那里,但不必。
您的第二个选项说“ val是必需的属性,其值可以是数字或未定义”。因此,它将引发编译器错误。