繁体   English   中英

让 typescript 推断 class 方法的类型,实现一个接口

[英]Let typescript infer the type of of a class method, implementing an interface

在我们的应用程序中,我希望它是可选的,必须定义方法 arguments,如果这些方法是从父级知道的:

interface Parent<T> {

    foo(arg1: T): void;

}

class MyImpl implements Parent<string> {
    foo(arg1) {

    }
}

目前这会引发错误:

Parameter 'arg1' implicitly has an 'any' type.

我很好奇是否有办法避免这个错误。

现实世界的用例要复杂得多,并且使参数类型可选避免了一堆相当复杂的类型杂耍。

Typescript 中还有其他地方可以推断,具体如下:

type Callback = (s:string) => void;

function foo(cb: Callback) {
  cb('hi');
}

foo(arg => console.log(arg));

我希望我能以某种方式使其与子类一起使用。

不幸的是,这是不可能的。 本期已经讨论过——https://github.com/Microsoft/TypeScript/issues/1373

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM