TypeScript入门与实战
上QQ阅读APP看书,第一时间看更新

4.5 空值合并运算符

空值合并运算符在2019年11月成为ECMAScript标准中的候选特性。虽然还不是最终的标准,但核心功能已经基本确定。TypeScript 3.7版本增加了对空值合并运算符的支持,因此我们可以在TypeScript 3.7以上的版本中直接使用该运算符。

空值合并运算符是一个新的二元逻辑运算符,它使用两个问号“??”作为标识。空值合并运算符的语法如下所示:


a ?? b

该语法中,当且仅当“??”运算符左侧操作数a的值为undefined或null时,返回右侧操作数b;否则,返回左侧操作数a。

空值合并运算符与可选链运算符一样都具有短路求值的特性。当空值合并运算符左侧操作数的值不为undefined和null时,右侧操作数不会被求值,而是直接返回左侧操作数。