来自 C# 的背景,空条件运算符允许您调用函数以避免可能的空引用异常,如下所示:
Func<int> someFunc = null;
int? someInteger = someFunc?.Invoke();
// someInteger == null
鉴于 Typescript 具有.?
功能非常相似的“可选链接运算符”,我想知道是否有办法用同样简洁的代码来做同样的事情。我能想到的最好的方法是使用条件表达式:
let someFunc: (() => number) | undefined = undefined;
let someNumber = someFunc !== undefined ? someFunc() : undefined;