js操作符

?. ?.操作符或可选的链式运算符是一个很有用的运算符,用于检查一个值是否已经被设置,当它被设置后再继续。

if(data && data.subdata && data.subdata.name === "cool") { console.log("hi") } // 链式判断每个属性存在性 if(data?.subdata?.name === "cool") { console.log("hi") }

?? 【js操作符】??操作符是一个检查一条语句左值是否为空的操作符,如果为真,它将返回右边的值。
const x = null ?? 'string'; // x: "string" const y = 12 ?? 42; // y: 12

??= 逻辑空赋值运算符 (x ??= y) 仅在 x 是 (nullundefined) 时对其赋值。
const a = { duration: 50 }; a.duration ??= 10; console.log(a.duration); // a.duration: 50a.speed ??= 25; console.log(a.speed); // a.speed: 25

    推荐阅读