可选链
?.
obj?.propobj?.[expr] arr?.[index] func?.(args)
let nestedProp = obj.first && obj.first.second;
let nestedProp = obj.first?.second;
空值合并运算符(??)是一个逻辑运算符
Nullish
leftExpr ?? rightExpr
当左侧操作数为 null 或 undefined 时,其返回右侧的操作数。否则返回左侧的操作数。
空值合并运算符会在左侧的表达式为 null 或 undefined 时返回右侧的表达式。
const foo = null ?? ‘default string’;
console.log(foo);
// expected output: “default string”
const baz = 0 ?? 42;
console.log(baz);
// expected output: 0
filter(Boolean)
false, null, undefined, 0, NaN or an empty string
