Typescript接口泛型经过类型检查,但无法推断

时间:2018-08-30 10:44:13

标签: typescript

在下面的示例代码中,实现MyInterface ...

  • 如果我未指定输入类型,则推断为any
  • 如果我输入了错误的输入类型,它会警告我这是错误的

如果可以检测到错误的类型,为什么不能推断出正确的类型?

interface MyInterface<T = any> {
    myFunction(input: T): void;
}

class MyClass implements MyInterface<number> {
    // input inferred as 'any'
    myFunction(input) {}
}

class MyClass2 implements MyInterface<number> {
    // Type 'number' is not assignable to type 'string'
    myFunction(input: string) {}
}

1 个答案:

答案 0 :(得分:1)

这比一般情况要复杂一些。有一个open suggestion