据我所知,当你在Typescript中声明变量时,你可以选择是否为变量指定类型。如果未指定类型,则使用默认的“any”类型。有没有办法强制所有变量都声明类型,即使它可能是“任何”。例如,当未指定类型时,我希望出现编译器错误。这样一来,程序员将被迫为所有内容指定类型,并防止变量意外保留为“any”的情况。
在 TypeScript 中声明的变量不一定没有类型,这一点并不正确。如果可能,TypeScript 编译器将根据声明的右侧推断类型。
例如:
var x = 150;
x
将是一个数字,因为 RHS 是一个数字。
您可以使用命令行编译选项来捕获无法通过使用推断类型的声明--noImplicitAny
:
对隐含“any”类型的表达式和声明发出警告。
此选项将捕获变量的情况d
例如已声明,但未立即赋值。
var d;
会产生错误:
错误 TS7006:“test”的参数“d”隐式具有“any”类型。
编译器开关还捕获没有指定类型的参数,并且作为@basarat https://stackoverflow.com/users/390330/basarat在评论中指出,它还捕获返回类型和类/接口成员。
还有更多信息这篇博文 http://blogs.msdn.com/b/typescript/archive/2013/08/06/announcing-0-9-1.aspx以及。请注意,还有一个等效的 MSBuild/项目设置可用:<TypeScriptNoImplicitAny>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)