考虑
const funct = (t: number): string | undefined => (t > 0 ? 'asd' : undefined);
funct
的结果的推断类型是字符串,但应该是字符串|未定义。我在这里做错了吗?
答案 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
。