es 语法

es2020 种草语法

空白合并运算符

??

let person = {
profile: {
name: "",
age: 0
}
};

console.log(person.profile.name || "Anonymous"); // Anonymous
console.log(person.profile.age || 18); // 18~~~~
console.log(person.profile.name ?? "Anonymous"); // ""
console.log(person.profile.age ?? 18); // 0

可选链接运算符

可选链 可让我们在查询具有多个层级的对象时,不再需要进行冗余的各种前置校验。

?.

let person = {};

console.log(person.profile.name ?? "Anonymous"); // person.profile is undefined
console.log(person?.profile?.name ?? "Anonymous"); // Anonymous
console.log(person?.profile?.age ?? 18); // 18