const b = 0
const a = b || 5
console.log('a', a) // 5
b等于0的时候默认是false,但是我们想要拿到的是 0,这样就会存在问题
const b = false
const a = b || 5
console.log('a', a) // 5
如果我们想获取 false, 用这种写法也是不合适的
const b = ''
const a = b || 5
console.log('a', a) // 5
const b = undefined
const a = b || 5
console.log('a', a) // 5
const b = null
const a = b || 5
console.log('a', a) // 5
当b为 空、undefined、null 的时候,会跳过b
可是有时候我们只想排除 null
或者 undefined
使用 ||
运算符就不合适了
这时候就需要用上 空值合并运算符 ??
const b = null
const a = b ?? 5
console.log('a', a) // 5
const b = undefined
const a = b ?? 5
console.log('a', a) // 5
const b = ''
const a = b ?? 5
console.log('a', a) //
const b = 0
const a = b ?? 5
console.log('a', a) // 0
const b = false
const a = b ?? 5
console.log('a', a) // false