Typescript 目前(或是否有计划)支持安全导航操作符?.
?.
IE:
var thing = foo?.bar // same as: var thing = (foo) ? foo.bar : null;
此外,该运算符是否有更通用的名称(谷歌很难找到)。
是的。 从 TypeScript 3.7(2019 年 11 月 5 日发布)开始,支持此功能,称为 Optional Chaining :
在其核心,可选链让我们编写代码,如果遇到 a nullor ,TypeScript 可以立即停止运行某些表达式undefined。可选链中的明星是 可选属性访问?.的新操作符。 __
null
undefined
有关更多详细信息,请参阅TypeScript 3.7 发行说明。
在 3.7 版之前,TypeScript 不支持此功能,尽管早在 TypeScript 存储库的第 16 期(可追溯到 2014 年)中就提出了要求。
至于 如何称呼这个运营商 ,似乎还没有达成共识。除了“可选链接”(这也是它在 JavaScript 中的名称)之外,还有一些其他示例:
存在运算符的访问器变体?.可用于吸收属性链中的空引用。.在基值可能为 null 或 undefined 的情况下,使用它代替点访问器。
.
仅当操作数的计算结果为非 null 时,空条件运算符才将成员访问?.、或元素访问、操作应用于其操作数;?[]否则,它返回null。
?[]
可能还有很多其他的例子。