双问号操作符 Nullish Coalescing

双问号操作符??),也被称作空值合并运算符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数

const foo = null ?? 'default string';
console.log(foo); // "default string"

可能有人会问 ??  和 || 有什么区别呢?

?? 的左侧只判断两种情况:null 和 undefined,而 || 的左侧只要是假值(包括'' 和 0)都会返回右侧的值

const number = 0;
console.log(number || 100); // 100
console.log(number ?? 100); // 0

posted @ 2021-01-14 10:02  倔强的代码人  阅读(193)  评论(0编辑  收藏  举报