hand
_1_11_260
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 21:09:22
在 JavaScript 的奇妙世界里,逻辑与赋值运算符(&&=
)是一个相对较新但功能强大的工具。它结合了逻辑与(&&
)和赋值(=
)的特性,为开发者提供了一种简洁的方式来处理条件赋值。本文将深入探讨逻辑与赋值的概念、运算规则,并通过实际例子展示其使用方法。
逻辑与赋值运算符(&&=
)是 JavaScript 在 ES2021 中引入的一个复合赋值运算符。它的语法形式为 x &&= y
,其作用等价于 x = x && y
。简单来说,这个运算符会先对 x
进行逻辑与运算,如果 x
的值为真值(truthy),则将 y
的值赋给 x
;如果 x
的值为假值(falsy),则 x
的值保持不变。
在 JavaScript 中,真值是指在布尔上下文中被视为 true
的值,而假值则被视为 false
。常见的假值包括 false
、0
、''
(空字符串)、null
、undefined
和 NaN
,其他值通常被视为真值。
逻辑与赋值的运算规则可以总结如下:
| x
的值 | y
的值 | x &&= y
执行后 x
的值 | 解释 |
| —- | —- | —- | —- |
| 真值 | 任意值 | y
的值 | 因为 x
为真值,所以将 y
的值赋给 x
|
| 假值 | 任意值 | x
的原始假值 | 因为 x
为假值,逻辑与运算短路,x
的值保持不变 |
x
为真值
let x = 5;
let y = 10;
x &&= y;
console.log(x); // 输出: 10
在这个例子中,x
的初始值为 5
,是一个真值。因此,逻辑与赋值运算会将 y
的值 10
赋给 x
。
x
为假值
let a = 0;
let b = 20;
a &&= b;
console.log(a); // 输出: 0
这里,a
的初始值为 0
,是一个假值。逻辑与运算短路,不会执行赋值操作,所以 a
的值保持为 0
。
const person = {
name: 'Alice',
age: null
};
person.age &&= 30;
console.log(person.age); // 输出: null
person.name &&= 'Bob';
console.log(person.name); // 输出: 'Bob'
在这个例子中,person.age
的初始值为 null
,是一个假值,所以 person.age
的值保持不变。而 person.name
的初始值为 'Alice'
,是一个真值,因此 person.name
的值被更新为 'Bob'
。
逻辑与赋值运算符(&&=
)是 JavaScript 中一个简洁而实用的工具,它可以帮助我们更方便地处理条件赋值。通过理解其运算规则和真值假值的概念,我们可以在代码中灵活运用这个运算符,使代码更加简洁和易读。在实际开发中,当我们需要根据某个变量的值是否为真值来更新它时,逻辑与赋值运算符将是一个不错的选择。
希望本文能帮助你更好地理解逻辑与赋值运算符,并在你的 JavaScript 项目中发挥它的作用!
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~