较短的 If-Else 的空合并
你可以使用看涨合并,而不是使用 if-else 构造来检查值是否为空。该nullish合并操作 ??,如果没有定义左侧返回右侧。如果是,则返回左侧:
let maybeSomething;
if(maybeSomething){
console.log(maybeSomething)
} else {
console.log("Nothing found")
}
console.log(maybeSomething ?? "Nothing found")
防止崩溃的可选链
如果访问未定义的属性,则会产生错误。这就是可选链的用武之地。
在未定义属性时使用可选链运算符,undefined将返回而不是错误。这可以防止你的代码崩溃。
const student = {
name: "Matt",
age: 27,
address: {
state: "New York"
},
};
console.log(student && student.address && student.address.ZIPCode);
console.log(student?.address?.ZIPCode);