运算符??
表达式在 ??
的左侧 运算符求值为undefined
或null
,返回其右侧
let json={
a1:"",
a2:0,
a3:false,
a4:null,
a5:undefined,
a6:"哈哈"
}
console.log(json.a1 ?? "是a1");//空的字符串
console.log(json.a2 ?? "是a2");//0
console.log(json.a3 ?? "是a3");//false
console.log(json.a4 ?? "是a4");//是a4
console.log(json.a5 ?? "是a5");//是a5
console.log(json.a6 ?? "是a6");//哈哈
当逻辑运算符(&&,||,??)
和赋值表达式结合起来用
当a
值不存在时,将b
的值赋值给a
let a=0,b=3;
a||=b;
//相当于a=a || (a=b)
console.log(a);//3
当a
值存在时,将b
的值赋值给a
let a=1,b=3;
//a&&=b;
//相当于a=a && (a=b)
console.log(a);//3
当a
值是null
或者undefined
时,将b
的值赋值给a
let a=null,b=3;
a??=b;
//相当于a=a ?? (a=b)
console.log(a);//3
网友评论