【问题标题】:Typescript "specialized" overloading打字稿“专门”重载
【发布时间】:2015-08-26 03:58:23
【问题描述】:

是否可以在不引入与实现完全匹配的签名的情况下定义这种专门的重载?

on(eventName: string, cb: Function);
on(eventName: "view", cb: (args: {
    foo: {
    }
}) => void);
on(eventName: string, cb: Function) {
}

当我删除它时,我收到此错误:

特殊的重载签名不能分配给任何 非专业签名。

【问题讨论】:

    标签: typescript


    【解决方案1】:

    特殊重载是其他重载签名之一的特殊性(实现签名不可见,因此不算数)。

    当您使用专用重载时,必须至少有一个专用版本“使特殊”的非专用签名。

    专用签名的返回类型必须是非专用签名的子类型。

    所以简而言之,即使它与实现签名相同,您也必须具有重载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      相关资源
      最近更新 更多