如何定义函数结果可能在typescript中未定义

时间:2017-12-07 10:04:03

标签: typescript

考虑

const funct = (t: number): string | undefined => (t > 0 ? 'asd' : undefined);

funct的结果的推断类型是字符串,但应该是字符串|未定义。我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

在lajos-gallay的评论之后更新。

我认为你做得对,但你需要启用strictNullChecks

我尝试了这样的代码:

const funct = (t: number): string | undefined => (t > 0 ? 'asd' : undefined);
const result = funct(15);
console.log(result.length);

result的推断类型为string | undefined
所以最后一行抛出[ts] Object is possibly undefined

"strictNullChecks": true中的compilerOptions下有tsconfig.json