【发布时间】:2021-04-01 07:59:36
【问题描述】:
我在 VS Code 中有以下 TypeScript 代码:
const f1 = ():string => { return "abc"; }
const d:any = {}
d.f2 = ():string => { return "abc"; }
将鼠标放在f1 上,它会显示const f1: () => string。
将鼠标放在f2 上,它会显示any。
f2不应该也是一个返回字符串的函数吗?
【问题讨论】:
-
在 noither 情况下,函数的返回类型是函数;
f1的返回类型是 string。但是,any类型的 any 属性的类型也将是any- 这就是any的含义。 -
标题应该被编辑,因为我们不涉及 return 类型。也许“编译器在赋值后忘记了类型?”或者其他的东西?这里的问题是“对使用非联合类型注释的变量的赋值不会缩小变量的类型”和“
any具有传染性”
标签: typescript visual-studio-code