js中的 ?? 和 ?.,以及 ?? 和 || 的区别
??控制合并操作符:
只有在??前面的数字为null、undefined的时候才会返回后面的数字;
||或运算符,不仅包含null、undefined,还包含0、''、false;
例如:
a??'哈哈'
let a = null或者let a = undefined 的时候才会返回 哈哈
a||'哈哈'
let a = null、undefined、0、''、false都会返回 哈哈
?.可选链接操作符:
表达式中的所有引用不存在也不会报错,只返回undefined
例如:
let obj = null
obj.name //Uncaught TypeError: Cannot read property 'c' of null
obj?.name //undefined
或者
let obj = {}
obj?.name?.fristName //undefined
语法:Obj?.Prop Obj?.[expr] array?.[index] function?.(argument)