type Parent = {
fun<T>(a: T, b: string):void
}
type ChildFunArgs = Parameters<Parent['fun']<number>> // got an error
Run Code Online (Sandbox Code Playgroud)
If the above code can run, so I can do this:
const childFunArgs: ChildFunArgs = [1, '1']
Run Code Online (Sandbox Code Playgroud) 班级是:
class Test<P> {
constructor(data: P) {}
}
Run Code Online (Sandbox Code Playgroud)
我希望下面的代码没有通过类型检查,因为它没有传入的泛型:
new Test({ a: 1 })
Run Code Online (Sandbox Code Playgroud)
我知道上面的泛型 P 是自动派生为 的{a: number},但这不是我想要的,下面是。
new Test< {a: number} >({ a: 1 })
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法,但最终泛型 P 会自动派生到构造函数的参数类型中。
typescript ×2