JavaScript中 ?? 表达式

29 阅读1分钟

JavaScript中,有时我们会根据一个值的结果来对这个值进行修改,但有的场景是只想判断这个值是null或者undefined的时候给它赋值为一个新的值,而如果它是0或者''字符串的时候我们还想保持原来的值,这时候我们就可以使用??表达式来完成

下面我们一起来探究一下??表达式的使用方式

var a = obj ?? {}
// 等价于 =>>
var a;
if( obj === null || obj === undefined ){
   a = {}
} else {
   a = obj;
}

从上面的示例中我们可以看出来,只有 objnullundefined 的时候 a 会被赋值为一个对象,当 obj 不是 nullundefined 的时候, a 的值即时obj