在 C# 中,我可以编写代码来检查空引用,并在必要时抛出自定义异常,例如:
var myValue = (someObject?.SomeProperty ?? throw new Exception("...")).SomeProperty;
在最近的更新中,TypeScript引入了空值合并操作符"??",但是像上面的语句那样使用会产生编译错误。 在TypeScript中有类似允许的语法吗?
为了澄清,以下代码可以实现所需的行为:
if(someObject?.someProperty == null) {
throw new Error("...");
}
var myValue = someObject.someProperty.someProperty;
代码:
var myValue = someObject?.someProperty.someProperty;
逻辑上运行良好,但抛出的异常不够有意义。
var myValue = someObject?.SomeProperty ?? throw new Exception("...");
吗?或者你是想要获取someObject.SomeProperty.SomeProperty
吗? - T.J. Crowder