MST
星途 面试题库

面试题:TypeScript 可选链与空值合并运算符结合使用

假设你有一个可能为 null 或 undefined 的对象 `user`,该对象有一个 `address` 属性,`address` 对象又有一个 `city` 属性。请使用可选链(?.)和空值合并运算符(??)实现,当 `user` 及其嵌套属性存在时获取 `city` 的值,若不存在则返回默认值 'Unknown City'。
50.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
const user = null; // 假设user为null,也可以是undefined
const city = user?.address?.city ?? 'Unknown City';
console.log(city);

上述代码中,通过可选链 ?. 先判断 user 是否存在,如果存在则继续判断 user.address 是否存在,如果都存在则获取 address.city 的值。若其中任何一个环节为 nullundefined,则使用空值合并运算符 ?? 返回默认值 'Unknown City'