空值合并运算符
空值合并运算符在 2019 年 11 月成为 ECMAScript 标准中的候选特性。虽然还不是最终的标准,但核心功能已经基本确定。TypeScript 3.7 版本增加了对空值合并运算符的支持,因此我们可以在 TypeScript 3.7 以上的版本中直接使用该运算符。
空值合并运算符是一个新的二元逻辑运算符,它使用两个问号 ??
作为标识。空值合并运算符的语法如下所示:
a ?? b
该语法中,当且仅当 ??
运算符左侧操作数 a
的值为 undefined
或 null
时,返回右侧操作数 b
;否则,返回左侧操作数 a
。
空值合并运算符与可选链运算符一样都具有短路求值的特性。当空值合并运算符左侧操作数的值不为 undefined
和 null
时,右侧操作数不会被求值,而是直接返回左侧操作数。