【发布时间】:2020-05-12 08:37:21
【问题描述】:
我有这样的功能:
function foo() {
if (Math.random() < 0.5) {
return {
a: 5
};
}
return {
b: false
};
}
TypeScript 将返回类型推断为:
function foo(): {
a: number;
b?: undefined;
} | {
b: boolean;
a?: undefined;
}
出于我的目的,最好将其推断为:
function foo(): {
a: number;
} | {
b: boolean;
}
我知道我可以通过在foo 的定义中手动包含返回类型来强制执行此操作。但我问这个问题是因为实际上我有一个返回值要复杂得多的函数,我不想手动编写返回值的类型,然后永远保持同步。
有什么方法可以让 TypeScript 像我想要的那样自动推断返回类型?
【问题讨论】:
标签: typescript