ts代码的歧义

const errorHandler = (error: { response: Response }): Response => {
 
};

上面的ts代码中response: Response的意思有两种,具体是哪一种?

  • response是Response类型的实例
  • response起了一个假名为Response
阅读 2.1k
3 个回答

对象解构的别名应该是下面这种吧:

const errorHandler = ({ response: Response }): Response => {
 
};

题主的response: Response表示为response参数的类型为Response

这里的意思是response是Response类型的实例,不是假名,

 { response: Response }

定义了一个接口,error是这个接口的实例,然后(error):Response=>是一个lambda表达式。

等价于

interface xxx{
    response: Response;
}

const errorHandler = (error: xxx): Response => {
 
};

对象解构时才会有别名这种操作吧

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