📜  ||= 在javascript中(1)

📅  最后修改于: 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中无法正常工作。 在编写代码时应该谨慎使用它,以确保代码能够适应各种浏览器和环境。