我有一个带有
any
类型的单个参数的函数:
function doSomething(param: any) {
// Do something with param
}
如果我尝试使用以下方式调用此函数:
doSomething();
我收到错误:“预期有 1 个参数,但得到了 0 个。”我可以通过传递
undefined
作为参数来删除错误:
doSomething(undefined);
未传递的参数默认为
undefined
,所以我不确定为什么需要显式传递undefined
?不幸的是,该函数位于库中,因此我无法将参数标记为可选。
因为你的函数签名告诉你有一个类型为
any
的参数。所以调用的时候必须要传递一些东西。请注意,any
也是一种类型,就像 string
、number
等
Typescript 是一个编译时程序而不是运行时程序。因此,如果您在使用函数时不传递参数,打字稿就会抱怨。
如果不需要该参数,您可以使用
?
标记将其设为可选。
function doSomething(param?: any) {
// Do something with param
}
当您不想编写长类型只是为了让 TypeScript 相信某行特定代码没问题时,
类型非常有用。any