浅谈学校网站建设,一个可以做行程的网站,个人网页的内容,写小说赚钱的网站The Nullish Coalescing Operator#xff08;空值合并运算符#xff09;是一种 JavaScript 的新运算符#xff0c;用于解决默认值设定中存在的一些问题。它的语法为 ??#xff08;两个问号#xff09;#xff0c;表示当左侧的操作数为 null 或 undefined 时#xff0c…The Nullish Coalescing Operator空值合并运算符是一种 JavaScript 的新运算符用于解决默认值设定中存在的一些问题。它的语法为 ??两个问号表示当左侧的操作数为 null 或 undefined 时返回右侧的操作数否则返回左侧的操作数。
例如
const guestCorrect restaurant.numGuests ?? 10;
console.log(guestCorrect);但是空值并不包含0和空字符
restaurant.numGuests 0;const guestCorrect restaurant.numGuests ?? 10;
console.log(guestCorrect);总结
const value1 null ?? default;
console.log(value1); // 输出 defaultconst value2 Hello ?? default;
console.log(value2); // 输出 Helloconst value3 undefined ?? default;
console.log(value3); // 输出 default可以看到在上述示例中第一个操作数为 null 或 undefined 时空值合并运算符返回了第二个操作数否则返回了第一个操作数。与传统的默认值设置方式相比空值合并运算符能够区分 null 和 undefined避免了一些可能的 bug。 需要注意的是空值合并运算符仅对 null 和 undefined 进行默认值设置而不包括其他 Falsy 值如空字符串、0 和 false。如果需要在默认值设定中考虑所有 Falsy 值可以使用逻辑或运算符 ||。 例如
javascriptCopy Codeconst value4 || default;
console.log(value4); // 输出 defaultconst value5 0 || default;
console.log(value5); // 输出 defaultconst value6 false || default;
console.log(value6); // 输出 default需要注意的是空值合并运算符是 ES11也称为 ECMAScript 2020的新增特性如果需要在旧版本的 JavaScript 中使用可以通过转换成常规的三元条件运算符来实现。