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;