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
原生js和js的区别console.log(-1??"xx")//-1
console.log(""??"xx")//''
哦哦,原来这是赋默认值哦。。。。
不过他是忽0和空字符串等错误的值
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论