Function &引用;找不到参数";在TypeScript中定义函数类型并返回函数

Function &引用;找不到参数";在TypeScript中定义函数类型并返回函数,function,typescript,types,Function,Typescript,Types,我在定义返回TypeScript中另一个函数的函数类型时遇到问题 这项工作: type HandleDoc = (doc: any) => any type SyncHookDoc = (updateStore, doc: any, store) => (void | HandleDoc) 但如果我尝试在一行中使用,它将不起作用: type SyncHookDoc = (updateStore, doc: any, store) => (void | (doc: any) =

我在定义返回TypeScript中另一个函数的函数类型时遇到问题

这项工作:

type HandleDoc = (doc: any) => any
type SyncHookDoc = (updateStore, doc: any, store) => (void | HandleDoc)
但如果我尝试在一行中使用,它将不起作用:

type SyncHookDoc = (updateStore, doc: any, store) => (void | (doc: any) => any)
错误:

找不到名称“doc”

“any”仅指类型,但在此处用作值


在函数签名周围需要一组额外的
()

type SyncHookDoc = (updateStore, doc: any, store) => (void | ((doc: any) => any))

在函数签名周围需要一组额外的
()

type SyncHookDoc = (updateStore, doc: any, store) => (void | ((doc: any) => any))

为什么会这样?我猜
|
的优先级高于=>。因此编译器会将类型视为`(void |(doc:any))=>any)`为什么会这样?我猜
的优先级高于=>。因此,编译器会将该类型视为`(void |(doc:any))=>any)`