javascript-从TypeScript中的重写接口自动推断类型

我正在尝试为已经存在的模块创建一些TypeScript定义.在要实现的特定接口中,签名如下所示:

type NextFunction<T> = () => T;
type Response = string[] | Promise<string[]>;

interface IPage {
  getBodyClasses(next: NextFunction<Response>): Response;
}

参数和返回结构是固定的,我非常希望TypeScript能够推断出我的重写方法的参数类型.但是,当我创建覆盖时,我看到该参数隐式具有任何类型.

class Page implements IPage {
  getBodyClasses(next) {
    return next();
  }
}

有什么方法可以将getBodyClasses标记为专用重写,以便自动推断参数的类型?如果我将next键入为数字,那已经可以说Page是不正确地实现了接口,所以我不太明白为什么它也不能推断出next的类型与接口相同.

解决方法:

不支持对实现的属性进行上下文输入.

更多

跟踪此问题的主要问题是https://github.com/Microsoft/TypeScript/issues/1373

上一篇:PHP类的隐式类型转换?


下一篇:C将任何类型的参数发送给函数