在JavaScript中,?.是可选链操作符,用于处理可能为null或undefined的属性或方法。它的作用是在访问对象的属性或调用方法时,如果对象为null或undefined,则不会引发错误,而是返回 undefined。
举个例子,假设我们有一个对象user,其中包含一个可能为null的属性address,我们想获取address的city属性:
const user = {
// address 可能为 null
address: null
};
// 使用可选链操作符获取 city 属性
const city = user?.address?.city;
console.log(city); // 输出 undefined,而不是抛出错误
在上面的例子中,如果user的address属性为null,那么user?.address?.city表达式会返回undefined,而不会导致运行时错误。