可选链
    ?.
    obj?.propobj?.[expr] arr?.[index] func?.(args)
    let nestedProp = obj.first && obj.first.second;
    let nestedProp = obj.first?.second;
    空值合并运算符(??)是一个逻辑运算符
    Nullish
    leftExpr ?? rightExpr
    当左侧操作数为 nullundefined 时,其返回右侧的操作数。否则返回左侧的操作数。
    空值合并运算符会在左侧的表达式为 nullundefined 时返回右侧的表达式。
    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