Javascript TypeScript:如何显式地将类型传递给该函数的泛型
我正在学习TypeScript,并尝试使用映射类型编写一个函数,该函数仅允许用户在对象上确实存在键时从对象中提取值。这是密码Javascript TypeScript:如何显式地将类型传递给该函数的泛型,javascript,typescript,Javascript,Typescript,我正在学习TypeScript,并尝试使用映射类型编写一个函数,该函数仅允许用户在对象上确实存在键时从对象中提取值。这是密码 const obj = { a: 1, b: 2, c: 3 } function getValues<T, K extends keyof T>(obj: T, keys: K[]) { return keys.map(key => obj[key]) } getValues(obj, ['a', 'b']) 然而
const obj = {
a: 1,
b: 2,
c: 3
}
function getValues<T, K extends keyof T>(obj: T, keys: K[]) {
return keys.map(key => obj[key])
}
getValues(obj, ['a', 'b'])
然而,编译器并不高兴。有一个解析错误
解析错误:“?”应该是假设您真的想显式传递一个类型,我认为在调用函数时不允许使用扩展
getValues<typeof obj, keyof typeof obj>(obj, ['a'])
getValues(obj,['a']))
getValues<typeof obj, keyof typeof obj>(obj, ['a'])