ES2020( ?? - 空值合并操作符)

    最近开发,对0判定为false真的深恶痛绝,经常因为0的原因一不小心就判断错误了。

    当有地方需要判断空字符串的同时,又要排除0的干扰,让Number类型的0跳过判断,就不得不写一长串的判断 如(a !=='undefined' && a !== null  )诸如此类的判断从而佢跳过0、‘’(空字符串)、false的判断。

    但最近看到Null 判断运算符(??)这个的时候才感觉省了不少事。对这个运算符,我看别人是这么解释的 :读取对象属性的时候,如果某个属性的值是null或undefined,有时候需要为它们指定默认值。常见做法是通过||运算符指定默认值。 它的行为类似||,但是只有运算符左侧的值为null或undefined时,才会返回右侧的值。

如下:

1 、const a = 0 ( ' '  、false )

const b = a ?? ' 前面判断不成立 '

console.log(b)   // 0 ( ' ' 、false)

2 、  const a = undefined/null

const b = a ?? ' 前面判断不成立 '

console.log(b)  //  ' 前面判断不成立 '


    总而言之,用这个空值合并操作符能方便的排除null/undefined的判断,让Number0正常走正确判断逻辑!

你可能感兴趣的:(ES2020( ?? - 空值合并操作符))