【发布时间】:2015-08-26 21:55:40
【问题描述】:
这是一个可以很好编译的 TypeScript sn-p(使用 1.5.3)。
function alertNumber(a: number) {
alert(a + 1);
}
var x:any = "string";
alertNumber(x);
如何使用any类型的参数调用某个类型的函数请求参数?
【问题讨论】:
标签: typescript
这是一个可以很好编译的 TypeScript sn-p(使用 1.5.3)。
function alertNumber(a: number) {
alert(a + 1);
}
var x:any = "string";
alertNumber(x);
如何使用any类型的参数调用某个类型的函数请求参数?
【问题讨论】:
标签: typescript
这是因为您在使用 any 类型时选择不进行类型检查。
[有时]我们希望退出类型检查并让值通过编译时检查。为此,我们将它们标记为“任何”类型。 - Handbook
为了避免any的麻烦:
--noImplicitAny 编译器选项(或在Visual Studio 中关闭Allow implicit any types)。any 类型(例如var x: any)【讨论】:
--noImplicitAny 选项,我也会假设当我将类型添加到函数声明时,它将要求任何调用者传递该类型。 any 的含义应该仍然是“这可以是任何东西”,但您不应该只是在需要特定类型的地方传递“任何东西”变量。
any 类型目前像 c# 中的动态变量一样工作(例如,dynamic str = "asdf"; int num = str; 可以)。所以就像你应该如何避免在 c# 中使用动态类型一样,我建议在 TypeScript 中避免使用 any 类型。
any。对于这种工作流,打开--noImplicitAny 不是一种选择,因为它需要重写整个代码库。我想要的any 是一个可以具有任何属性的对象,但是您不能将它传递到请求某种类型的任何地方。