核心结论
启用 exactOptionalPropertyTypes 后,声明 prop?: T 的主要含义是“对象可以没有 prop 这个键;如果键存在,其值必须是 T”,而不再自动允许显式写入 undefined。如果业务确实允许属性存在且值为 undefined,应明确声明为 prop?: T | undefined。该选项区分了键缺失、键存在但值为 undefined、键存在且有有效值这几种状态,尤其适合补丁对象、配置合并和序列化协议。它改变的是赋值与更新约束,不会消除读取可选属性时得到 undefined 的可能性。
底层机制
对象属性包含两个不同维度:键是否存在,