新的语法。
类似 ||
不同的是,可以区分出 0 false
等
比如:
0 || 1 // 1
0 ?? 1 // 0
只要左侧不是 null undefined
就可以使用填充的默认值。
优先级
较低,略高于 =
let a = null
let b = null
let c = a ?? 1 * 0 ?? b // a ?? 0 ?? b => 0
let c = (a ?? 1) * (0 ?? b) // 1 * 0 => 0
注意和||, &&一起用
需要加 ()
指定优先级。不然会报语法错误。