js问号点的作⽤(?.)和问号问号(??)的⽤法产品说明书
js问号点的作⽤?.和??的⽤法
于宝君
第⼀个:问号点(?.)
来先看⼀段js
奇闻趣事const obj ={
hh:"xxx"
}
let res = obj?.data?.list
这个是什么操作呢??
这个data是哪⾥来的呢?这个list⼜是哪⾥来的呢?就算不是外⾯的obj这个对象⾥也没有data和list啊经过询问⼤佬后得☞
let res = obj?.data?.list
<=等价=>let res = obj && obj.data && obj.data.list
作⽤就是判断这个对象(this.element)下的(businessObject)下的(value)下的(length)是否为null或者undefined,当其中⼀链为null或者undefined时就返回undefined,这样即使中间缺少⼀个属性也不会报错,双问号后⾯接的就是默认值。
var obj ={}
console.log(obj?.a?.b ??233)//233
新手学摄影
翻勺var obj={a:{b:1}}
console.log(obj?.a?.b??233)//1
(⊙o⊙)哦,原来上⾯的代码是这样的
第⼆个:问号问号(??)
这个⼜是什么⿁操作呢?
其实我都没有运⽤过
再来look⼀下js
console.log(1||"xx")//1
console.log(0||"xx")//xx
console.log(null||"xx")//xx营业成本率
console.log(undefined ||"xx")//xx
梧桐树
console.log(-1||"xx")//-1
console.log(""||"xx")//xx
console.log(1??"xx")//1
console.log(0??"xx")//0
console.log(null??"xx")//xx
console.log(undefined ??"xx")//xx
console.log(-1??"xx")//-1
console.log(""??"xx")//''
哦哦,原来这是赋默认值哦。。。。
红头文件格式标准不过他是忽0和空字符串等错误的值