js 可选链、空值合并操作符

**

!! 用法:变量为真是进入

var a = 0;
if (a !== null && a !== "" && a !== undefined && a !== 0) {
  //a有内容才执行的代码
}
if (!!a) {
  //a有内容才执行的代码...
}

?? 用法:只有当左侧为null和undefined时,才会返回右侧的数

const foo = null ?? "右边"; // '右边'
console.log(foo);

const baz = 0 ?? 42; // '42'
console.log(baz);

const empty = "" ?? 42; // ''
console.log(empty);

?. 用法:可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。

let optional = {
  name: "optional",
  details: { age: 82 },
};

console.log(optional?.city ?? "可选链"); // '可选链'
if (optional?.name) {
  console.log(optional?.name); // optional
}
// 用法
if (optional?.name?.age) {
  console.log(optional?.details?.age); // 82
}
// 同等于
if (optional && optional.name && optional.details.age) {
  // 82
  console.log(optional.details.age);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值