【发布时间】:2019-08-12 05:35:26
【问题描述】:
是否可以在第一个泛型上显式,但在第二个泛型上隐式(推断)?
例如一个pick函数:
function pick<T extends { [K: string]: any }, U extends keyof T>(obj: T, key: U): T[U] {
return obj[key];
}
interface Obj {
foo: string;
bar: string;
}
const obj = {
foo: 'foo',
bar: 'bar',
};
// works, available keys are inferred
pick(obj, 'bar');
// error: Expected 2 type arguments, but got 1.
// Is there a way I can tell to TS to infer the 2nd generic instead of expecting it explicitly?
pick<Obj>(obj, '');
【问题讨论】:
标签: typescript typescript-typings typescript-generics