在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