Javascript Typescript:what means value是(…args:any[])=>;任何
为什么使用Javascript Typescript:what means value是(…args:any[])=>;任何,javascript,typescript,Javascript,Typescript,为什么使用值(…args:any[])=>any代替布尔值?这称为类型保护,它提供了比运行时布尔值检查更多的类型信息 值是(…args:any[])=>any不是返回类型为isFunction?@MERN否,这表示“此函数断言参数是类型为(…args:any[])=>any的值,但通常在:之后,我们在typescript中声明了函数的返回类型,除了:变量是TypesyntaxOk,Clear,谢谢@xdumain export function isFunction(value: any): v
值(…args:any[])=>any
代替布尔值?这称为类型保护
,它提供了比运行时布尔值检查更多的类型信息
值是(…args:any[])=>any
不是返回类型为isFunction
?@MERN否,这表示“此函数断言参数是类型为(…args:any[])=>any的值,但通常在:
之后,我们在typescript中声明了函数的返回类型,除了:变量是Type
syntaxOk,Clear,谢谢@xdumain
export function isFunction(value: any): value is (...args: any[]) => any {
return typeof value === 'function';
}
export function isFunctionTypeGuard(value: any): value is (...args: any[]) => any {
return typeof value === 'function';
}
export function isFunctionBool(value: any): boolean {
return typeof value === 'function';
}
const doSomething = (fn: any) => {
// using a runtime type check
if (isFunctionBool(fn)) {
fn(1, 2, 3);
// ^^ typescript still thinks the type is `any`
}
// using a typeguard
if (isFunctionTypeGuard(fn)) {
fn(1, 2, 3);
// ^^ typescript now knows the type is `(...args: any[]) => any`
}
}