ts代码的歧义

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

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

  • response是Response类型的实例
  • response起了一个假名为Response
阅读 2.2k
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 => {
 
};

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

推荐问题