前言
在JavaScript中,问号(?)通常用于三元运算符,而两个问号(??)则是空值合并运算符,用于在左侧操作数为null或undefined时,返回右侧的操作数。
1、?. (可选链运算符)
如何在obj.b?.d会是怎样的呢?
结论:当对象中的一个属性是undefined的时候,再想从这个属性身上读取属性时需要使用”?“
2、??(空值合并运算符)
当一个数据时null或者undefined时,使用”??“,获取的是后面的值,如果??前面的值是别的,就获取??前面的值
3 . || 或运算
总结:
在 ?? 前面没有值得时候会默认 ?? 后边的值,|| 只会在左边的值为假值时返回右边的值 (0, ‘’, undefined, null, false 等都为假值)
??是判断有没有值,|| 是判断真假