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

5

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

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

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

参数和返回结构是固定的,我非常希望能够让TypeScript推断出覆盖方法的参数类型。然而,当我创建覆盖方法时,我发现参数隐式地具有any类型。

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

有没有办法将 getBodyClasses 标记为专用覆盖,以便自动推断参数类型?如果我将next 类型定义为 number,它已经会显示 Page 实现接口不正确,所以我不太明白为什么它不能推断 next 的类型与接口相同。

这是一个链接,供未来读者查看您所打开的问题:派生类中方法覆盖的类型推断 - Nitzan Tomer
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接