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

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

1、||= 逻辑或赋值运算符 (Logical OR assignment) 定义:||= 运算符用于指定变量在其值为假(Falsy)时才进行赋值操作。 语法:a ||= b,意为若a为假,则将b赋值给a。

示例:

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

2、&&= 逻辑与赋值运算符 (Logical AND assignment) 定义: &&= 运算符用于指定变量在其值为真(Truthy)时才进行赋值操作。

语法: a &&= b,意为若a为真,则将b赋值给a。

示例:

let a = null;
let b = 15;
a &&= 10; // a仍为null
b &&= 20; // b现在为20

3、??= 逻辑空赋值运算符 (Nullish coalescing assignment) 定义:??= 运算符用于指定变量在其值为null或undefined时才进行赋值操作。

语法:a ??= b,意为若a为null或undefined,则将b赋值给a。

示例:

let c = null;
let d;
c ??= 5; // c现在为5
d ??= 10; // d现在为10

4、?. 可选链运算符 (Optional chaining) 定义:?. 运算符用于在对象链深处避免出现异常,当对象链中的某个属性为null或undefined时,避免出现错误。

语法:obj?.prop,若obj存在且有prop属性,则返回prop属性值,否则返回undefined。

示例:

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

5、?? 空值合并运算符 (Nullish coalescing operator) 定义:?? 运算符用于在变量为null或undefined时提供默认值。

语法:a ?? b,若a为null或undefined,则返回b,否则返回a。

使用场景:在需要提供默认值的场景下,确保变量不为null或undefined。

示例:

const foo = null ?? 'default string';
console.log(foo);
// Expected output: "default string"
​
const baz = 0 ?? 42;
console.log(baz);
// Expected output: 0
​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值