可选链操作符

{{ store.state.user?.loginUser?.userName ?? "未登录" }} 这段代码中,问号 ? 对应两种不同的现代 JavaScript/TypeScript 语法特性:


一、可选链操作符(Optional Chaining):?.


二、空值合并运算符(Nullish Coalescing):??


三、完整代码解析

<div>{{ store.state.user?.loginUser?.userName ?? "未登录" }}</div>

四、对比传统写法

// 无可选链和空值合并的写法
const userName = store.state.user && 
                 store.state.user.loginUser && 
                 store.state.user.loginUser.userName;
<div>{{ userName || "未登录" }}</div>

通过这两种语法,代码可读性和安全性都得到了显著提升[1]。