JavaScript 空值合并运算符
下面是 Nullish Coalescing Operator 的示例。
- 例子:
- 输出:
55 22
Nullish Coalescing Operator:这是本 ECMA 提案中引入的一项新功能,现已被官方 JavaScript 规范采用。如果左侧值为null或undefined ,则此运算符返回右侧值。如果不是 null 或 undefined,那么它将返回左值。以前,为未定义和空变量设置默认值需要使用if语句或逻辑 OR运算符“||”如下所示:
- 程序:
- 输出:
42
当传递的参数少于函数原型中定义的参数数量时,它被赋予undefined的值。要为函数调用期间未传递的参数设置默认值,或者为 JSON 对象中不存在的字段设置默认值,上述方法很流行。
- 程序:
function foo(bar) { bar = bar || 42; console.log(bar); } // Output: 42 foo(0);
- 输出:
42
JavaScript 中有一些值,例如 0 和一个空字符串,它们在逻辑上本质上是错误的。这些值可能会改变用 JavaScript 编写的程序的预期行为。
所有反复出现的问题导致了Nullish Coalescing Operator的发展。 Nullish Coalescing Operator 由两个相邻的问号定义??其用途如下:
- 句法:
variable ?? default_value
示例:如果传递的变量为 null 或未定义,并且只有这两个值,才会返回默认值。在包括 0、空字符串或 false 在内的所有其他情况下,将返回变量的值而不是默认值。
- 方案一:
- 输出:
- 方案 2:更常见的用例是为 JSON 对象设置默认值,如下所示。
- 输出:
支持的浏览器: JavaScript Nullish Coalescing Operator 支持的浏览器如下:
- 谷歌浏览器 80
- 火狐 72