typescript - 函数上的空值合并
问题描述
我有一个界面
interface Foo {
error?: string;
getError?: (param: any) => string
}
假设我们总是想调用该函数,但它有可能未定义。对于基本类型,我们可以使用 ??
:
const error = foo.error ?? "No Error";
foo.getError(...)
将抛出......不是一个可以理解的函数,如果没有:=)
那么,对于函数上的无效合并运算符是否有等效或优雅的替代方法,或者我是否总是必须做这样的事情:
const error = foo.getError ? foo.getError(...) ?? "No error" : "No error"
解决方案
如果您在函数上使用可选链接,则可以将该行缩短为:
const error = foo.getError?.('...') ?? "No error"
推荐阅读
- javascript - 将 Windows.Storage.StorageFile 转换为 javascript blob
- selenium - 处理多个框架时如何创建静态页面内容?
- c# - 更改屏幕尺寸时按钮的大小和位置会更改 XAMARIN.ANDROID
- jquery - Bootstrap 4 中的轮播触摸支持
- bash - 如何从 shell 脚本运行 shell 脚本而不终止它
- git - 如何将多个私有源拉入 Azure 上的管道代理?
- c++ - 你如何在 Qt 中使用很多小部件设计你的类?
- java - HeapSort 返回错误的数组(Java)
- r - R中的粘贴()中的'@'
- reactjs - redux-saga: Actions must be plain objects