Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将函数签名转换为类型?_Javascript_Typescript - Fatal编程技术网

Javascript 将函数签名转换为类型?

Javascript 将函数签名转换为类型?,javascript,typescript,Javascript,Typescript,我有一个函数属性,它的类型如下: /** * Function that performs the validation. */ validate: (vc: ValidationContext, object:any)=>boolean; 类构造函数中使用了相同的类型签名: constructor(validate: (vc: ValidationContext, object:any)=>boolean) {} 因此,如果我在一个地方更改签名,那么我必须在另一个地方更改它

我有一个函数属性,它的类型如下:

/**
 * Function that performs the validation.
 */
validate: (vc: ValidationContext, object:any)=>boolean;
类构造函数中使用了相同的类型签名:

constructor(validate: (vc: ValidationContext, object:any)=>boolean) {}
因此,如果我在一个地方更改签名,那么我必须在另一个地方更改它。是否可以定义一个封装该类型的类型。比如:

type ValidateType = (vc: ValidationContext, object:any)=>boolean
这样,
validate
类型可以在一个地方更新吗

更新 根据评论,我在这个问题上有点幸运。这就是我实现它的方式(@cartant,如果你想把它放在一个答案中,这样你就可以得到积分,我将从这里删除它):


是的,有可能。您应该像在问题中一样声明类型:
typevalidateType=(vc:ValidationContext,object:any)=>boolean
。或者您可以使用一个接口来声明它:
interface ValidateType{(vc:ValidationContext,object:any)=>boolean}
。真的吗???哇,这一次真是太幸运了!谢谢
    /**
    * The type api signature for the validation function.
    */
    type ValidationFunctionType = (vc: ValidationContext, object:any)=>boolean;