1. const b = 0
    2. const a = b || 5
    3. console.log('a', a) // 5

    b等于0的时候默认是false,但是我们想要拿到的是 0,这样就会存在问题

    1. const b = false
    2. const a = b || 5
    3. console.log('a', a) // 5

    如果我们想获取 false, 用这种写法也是不合适的

    1. const b = ''
    2. const a = b || 5
    3. console.log('a', a) // 5
    4. const b = undefined
    5. const a = b || 5
    6. console.log('a', a) // 5
    7. const b = null
    8. const a = b || 5
    9. console.log('a', a) // 5

    当b为 空、undefined、null 的时候,会跳过b

    可是有时候我们只想排除 null 或者 undefined 使用 || 运算符就不合适了
    这时候就需要用上 空值合并运算符 ??

    1. const b = null
    2. const a = b ?? 5
    3. console.log('a', a) // 5
    4. const b = undefined
    5. const a = b ?? 5
    6. console.log('a', a) // 5
    7. const b = ''
    8. const a = b ?? 5
    9. console.log('a', a) //
    10. const b = 0
    11. const a = b ?? 5
    12. console.log('a', a) // 0
    13. const b = false
    14. const a = b ?? 5
    15. console.log('a', a) // false