在 TypeScript 里安全地访问嵌套对象:可选链之外,你还缺一个 get 函数
接口返回的 JSON 层级稍微深一点,写业务代码时就很容易被 Cannot read properties of undefined 打断。比如 res.data.user.profile.address.city,只要中间任意一层是 undefined 或者 null,整行就崩。可选链 ?. 能解决大部分读取问题,但它有两个明显的短板:一是当 key 是动态字符串时没法直接用,二是它只帮你读,不帮你处理默认值,而且写多了满屏问号,判断条件一复杂就看不清楚。更麻烦的是,在 TS 里 a?.b?.c 的类型是 T | undefined,如果你后续想把这个值直接当 string 用,还得再补一层...