x ||= y

逻辑或赋值运算符 ||= 的含义是:如果 x 为假,将 y 赋值给 x,即:

if (!x) { 
    x = y 
}

逻辑或赋值 ||= 的应用:

const a = { duration: 50, title: '' };
 
a.duration ||= 10;
console.log(a.duration); // 50
 
a.title ||= 'title is empty.';
console.log(a.title); // "title is empty"

x &&= y

逻辑与赋值运算符 &&= 的含义是:如果 x 为真,将 y 赋值给 x,即:

if (x) { 
    x= y 
}

逻辑与赋值运算符 &&= 的应用:

const a = { duration: 50, title: '' };
 
a.duration &&= 10;
console.log(a.duration); // 10
 
a.title &&= 'title is empty.';
console.log(a.title); // ""

x ??= y

逻辑空赋值运算符 x ??= y 的含义是:如果 x 为空值(null 或 undefined),将 y 赋值给 x,即

if (x === null || x === undefined) { 
    x = y 
}

逻辑空赋值运算符 ??= 的应用:

const a = { duration: 50, title: '' };
 
a.duration ??= 10;
console.log(a.duration); // 50
 
a.title ??= 'title is empty.';
console.log(a.title); // ""