📜  && in javascript new - Javascript (1)

📅  最后修改于: 2023-12-03 15:13:02.976000             🧑  作者: Mango

JavaScript中的&&新特性

在JavaScript中,我们熟悉的&&操作符通常用于逻辑判断。但是在新版本的JavaScript中,&&操作符有了一些新的特性。

简介

&&操作符表示逻辑与,当所有操作数都为true时,返回true;否则,返回false。在JavaScript中,&&操作符也被称为“短路逻辑与”,因为当有一个操作数为false时,就没有必要再进行后续操作,直接返回false。

console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
新特性

在新版本的JavaScript中,&&操作符有了一些新特性,可以方便我们的编码。

逻辑赋值运算符

逻辑赋值运算符是&&操作符的一种扩展,可以将逻辑运算和赋值运算结合起来,方便我们进行变量赋值。逻辑赋值运算符的语法如下:

x &&= y

其中,x为要赋值的变量,y为要运算的值。

如果x的值为false,那么什么也不做,直接返回false;否则,执行逻辑与运算,并将结果赋值给x。例如:

let x = null;
let y = 123;
x &&= y;
console.log(x); // null

x = "abc";
x &&= y;
console.log(x); // 123
可选链式操作符

可选链式操作符也是&&操作符的一种扩展,可以方便我们进行属性访问。可选链式操作符的语法如下:

obj?.prop

其中,obj为要访问的对象,prop为要访问的属性。

如果obj存在,就返回obj.prop的值;否则,返回undefined。例如:

let obj = {
  prop1: {
    prop2: "hello"
  }
};

console.log(obj.prop1.prop2); // "hello"
console.log(obj.prop1.prop3); // undefined

console.log(obj.prop1?.prop2); // "hello"
console.log(obj.prop1?.prop3); // undefined

obj = null;

console.log(obj?.prop1?.prop2); // undefined
console.log(obj?.prop1?.prop3); // undefined
结论

在新版本的JavaScript中,&&操作符有了逻辑赋值运算符和可选链式操作符两种扩展,可以方便我们编写代码。我们可以根据实际情况选择使用哪种扩展功能,使得代码更加简洁明了。