添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

js中 ||=、&&=、??=、?.、?? 运算符的使用


字数:729 阅读时长:2分钟 阅读:85

JavaScript 中存在一些特殊的运算符,如 ||= &&= ??= ?. ?? ,它们在特定的场景下能够帮助开发者简化代码逻辑或增强代码的健壮性。本文将介绍这些运算符的定义、语法、使用场景以及示例。

js中 ||=、&&=、??=、?.、?? 运算符

||= 逻辑或赋值运算符 (Logical OR assignment)

1
2
3
4
let x = 10;
let y = 0;
x ||= 5; // x仍为10,因为10被视为真值
y ||= 5; // y现在为5,因为0被视为假值

&&= 逻辑与赋值运算符 (Logical AND assignment)

示例:

1
2
3
4
let a = null;
let b = 15;
a &&= 10; // a仍为null
b &&= 20; // b现在为20

??= 逻辑空赋值运算符 (Nullish coalescing assignment)

示例:

1
2
3
4
let c = null;
let d;
c ??= 5; // c现在为5
d ??= 10; // d现在为10

?. 可选链运算符 (Optional chaining)

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
const adventurer = {
name: 'Alice',
cat: {
name: 'Dinah',
},
};

const dogName = adventurer.dog?.name;
console.log(dogName);
// Expected output: undefined

console.log(adventurer.someNonExistentMethod?.());
// Expected output: undefined

?? 空值合并运算符 (Nullish coalescing operator)

示例:

1
2
3
4
5
6
7
const foo = null ?? 'default string';
console.log(foo);
// Expected output: "default string"

const baz = 0 ?? 42;
console.log(baz);
// Expected output: 0

总结

在实际的开发中,合理使用这些特殊运算符能够提高代码的可读性和健壮性,同时简化复杂的逻辑判断。但是,过度使用这些运算符也会导致代码的可读性降低,因此在使用时需要权衡利弊。

参考文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining


欢迎访问: 天问博客

本文作者: Tiven
发布时间: 2023-11-08
最后更新: 2023-11-21
本文标题: js中 ||=、&&=、??=、?.、?? 运算符的使用
本文链接: https://www.tiven.cn/p/9e1f6f3f/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
欢迎留言,提问 ^_^
个人邮箱: [email protected]