?.
?.
操作符或可选的链式运算符是一个很有用的运算符,用于检查一个值是否已经被设置,当它被设置后再继续。
if(data && data.subdata && data.subdata.name === "cool") {
console.log("hi")
}
// 链式判断每个属性存在性
if(data?.subdata?.name === "cool") {
console.log("hi")
}
??
??
操作符是一个检查一条语句左值是否为空的操作符,如果为真,它将返回右边的值。
const x = null ?? 'string';
// x: "string"
const y = 12 ?? 42;
// y: 12
??=
逻辑空赋值运算符 (x ??= y
) 仅在 x
是 (null
或 undefined
) 时对其赋值。
const a = { duration: 50 };
a.duration ??= 10;
console.log(a.duration);
// a.duration: 50
a.speed ??= 25;
console.log(a.speed);
// a.speed: 25