Closed m1stake closed 1 year ago
“语言简介(intro.md)”中。 “上面示例中,例一的报错是因为变量一旦赋值了,就不允许再改变类型”,这段描述可能有问题。
变量的类型确定,应该是在变量声明的时候,而不是赋值的时候。
// 这段代码可以通过编译,因为在第一行 c 已经被推断为 any 类型(这只是我的猜测) let c; console.log(typeof c); c = 1; console.log(typeof c); c = '1'; console.log(typeof c);
上面代码不报错,早就被诟病了,变量声明没有给出类型。
[1] https://github.com/microsoft/TypeScript/issues/30899
[2] https://stackoverflow.com/questions/73440042/typescript-prevent-inferring-types-except-at-variable-declaration
这种确实有点尴尬,其它语言类型推断都是一定要赋值的
“语言简介(intro.md)”中。 “上面示例中,例一的报错是因为变量一旦赋值了,就不允许再改变类型”,这段描述可能有问题。
变量的类型确定,应该是在变量声明的时候,而不是赋值的时候。