ts函数参数(callback?:()=>void)和(callback?:void)有什么区别?

function render(callback?:()=>void): string
这句ts函数 参数的意思是callback的返回值是函数 返回函数的返回值是void

function render(callback?:void): string
这句ts函数 参数的意思是callback的返回值是void

我这样理解对吗?

阅读 11.6k
2 个回答

你的理解没有什么问题,其实可以搞一个类型别名

type Callback = () => void;
function render(callback: Callback):string{}
新手上路,请多包涵

callback?:()=>void, 表示的时callback是函数类型且没有返回值, 并不是说返回值是函数, 这里的写法是ts自己的,不仅仅是箭头函数的意思, 还指定了函数的形参类型和返回值,

callback?:void不能证明callback是函数, ts会认为callback是void类型, 你传函数肯定报错。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题