逻辑赋值运算符

112 阅读1分钟

||=、&&=、??= 运算符

// 逻辑或赋值运算、逻辑与赋值运算、逻辑空赋值运算
let str = undefined;

// 当左侧值为真时把右侧值赋值给左侧变量
console.log(str &&= '逻辑与赋值运算');

// 当左侧值为假时把右侧值赋值给左侧变量
str ||= '逻辑或赋值运算';
console.log(str);
// 因为上面的逻辑或赋值已经赋值过了所以这里就有值了
console.log(str &&= '逻辑与赋值运算');

// 当左侧值为null、undefined时把右侧值赋值给左侧变量
str ??= '逻辑空赋值运算';
console.log(str);
// 因为str为undefined了所以会把右侧值赋值给左侧变量
str = undefined;
str ??= '逻辑空赋值运算';
console.log(str);