📅  最后修改于: 2023-12-03 15:35:50.740000             🧑  作者: Mango
||=
是JavaScript中的一个新操作符,在ECMAScript 2021中引入。它被称为“空值合并赋值运算符”,用于确定变量是否为nullish(null或undefined),并将其设置为默认值。
与三元条件运算符相比,||=操作符更加简洁和直观,具有更好的可读性。
variable ||= defaultValue;
其中:
variable
:要检查的变量。defaultValue
:如果变量为nullish,则设置的默认值。let x;
x ||= 'hello';
console.log(x); // 输出:'hello'
let y = 'world';
y ||= 'hello';
console.log(y); // 输出:'world'
在这个例子中,我们创建了两个变量 x 和 y。 因为没有给变量x赋值,所以它的值为undefined,所以在第一行的语句中,x变量被设置为“hello”。 在第二个例子中,由于变量y已经有值( 'world'),所以y的值没有被改变。
||=
操作符的主要应用场景是确保变量在初始阶段具有默认值。
function greeting(name) {
name ||= 'friend';
console.log(`Hello, ${name}!`);
}
greeting(); // 输出:Hello, friend!
greeting('John'); // 输出:Hello, John!
在这个例子中,如果没有传入name参数,则默认为“friend”。 如果传递了参数,则使用传递的参数。
同样,在处理对象属性时,||=
操作符也是非常有用的。
person.age ||= 18;
如果 person.age 是null或undefined,将设置默认值为18。
||=
操作符是JavaScript中的一个强大的新工具,可以更轻松地设置变量的默认值。 它提高了代码的可读性和易于维护性,并可以与其他现有的操作符和语法结合使用。
但是,值得注意的是,因为它是一个新的操作符,所以在某些情况下,可能会在旧版本的JavaScript中无法正常工作。 在编写代码时应该谨慎使用它,以确保代码能够适应各种浏览器和环境。