簡體   English   中英

在TypeScript中自動推斷來自重寫接口的類型

[英]Automatically inferring types from overridden interfaces in TypeScript

我正在嘗試為已經存在的模塊創建一些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的類型和接口的類型相同。

不支持已實現屬性的上下文類型。

更多

跟蹤此問題的主要問題是https://github.com/Microsoft/TypeScript/issues/1373

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM