2025-12-09 驯服TypeScript中的"可能未定义":判别式联合的优雅解法 驯服TypeScript中的"可能未定义":判别式联合的优雅解法 正文:当你的TypeScript项目从玩具演变为工程时,那些曾被忽略的类型警告开始露出獠牙。最令人头疼的莫过于Object is possibly 'undefined'——它像幽灵般在代码中游荡,尤其在处理嵌套的可选属性时。我曾目睹团队为此添加大量!非空断言,但这不过是把定时炸弹埋得更深。痛点溯源 考虑这个典型场景:我们正在构建一个内容管理系统,其中Article类型存在可选字段: typescript type Article = { id: string; title: string; author?: { name: string; contact?: { email: string; phone?: string; } } } 尝试安全访问电话号码时:typescript const getContactPhone = (article: Article) => { return article.author?.contact?.phone; // 编译通过但返回undefined|string };c... 2025年12月09日 9 阅读 0 评论