let res = val1 ?? val2;
//若val1为null 或者 undefined 则 取后面的值;
let res1 = val1 || val2;
//若val1 为 null undefinde 0 false 空字符串 则取后面的值
双问号更适合在不知道变量是否定义或者是否赋值时的场景来使用
<script>
let res = null;
console.log(res,'null','123ooo',1111)
// 字符串 打印出来都是 被""所包围的
// 数字打印出来都是蓝色的
// null undefined 打印出来是灰色的
let val = res ?? {};// null undefined 未定义 或者未赋值
let val1 = res || {};// null undefined 0 false '' || 会转换成布尔值来进行判断
// 一种逻辑短路
console.log(val,val1)
</script>