const result = value ?? defaultValue;
这行代码的意思是:如果value的值为null或undefined,那么返回defaultValue;否则返回value的值本身。
JavaScript中还有一种方法也能实现双问号表达式的效果——逻辑或操作符(||) 。例如:
const result = value || defaultValue;
这段代码的含义和前面的代码是相同的。其中,||操作符的原理是:如果第一个操作数为真,则返回第一个操作数的值;否则返回第二个操作数的值。这里的真包括了所有不为null、undefined、false、0、空字符串的值。
因此,如果value的值是null或undefined,那么返回的就是defaultValue。