在JavaScript中,有时我们会根据一个值的结果来对这个值进行修改,但有的场景是只想判断这个值是null或者undefined的时候给它赋值为一个新的值,而如果它是0或者''字符串的时候我们还想保持原来的值,这时候我们就可以使用??表达式来完成
下面我们一起来探究一下??表达式的使用方式
var a = obj ?? {}
// 等价于 =>>
var a;
if( obj === null || obj === undefined ){
a = {}
} else {
a = obj;
}
从上面的示例中我们可以看出来,只有 obj 是 null 和 undefined 的时候 a 会被赋值为一个对象,当 obj 不是 null 和 undefined 的时候, a 的值即时obj