Function typescript通用函数索引约束

Function typescript通用函数索引约束,function,typescript,generics,Function,Typescript,Generics,有没有一种方法可以指定某个行为与此建议相同的东西 function fn<T, U extends keyof T, T[U] extends number>() 函数fn() 我无法让“T[U]扩展编号”部件工作。这个怎么样 function fn<T extends Record<U, number>, U extends keyof T>(t: T, u: U): number { return t[u]; } 这对你有用吗 fn({ name

有没有一种方法可以指定某个行为与此建议相同的东西

function fn<T, U extends keyof T, T[U] extends number>()
函数fn()
我无法让“T[U]扩展编号”部件工作。

这个怎么样

function fn<T extends Record<U, number>, U extends keyof T>(t: T, u: U): number {
  return t[u];
}
这对你有用吗

fn({ name: 'fred', age: 40 }, 'age');  // okay
fn({ name: 'fred', age: 40 }, 'name');  // error
fn({ name: 'fred', age: 40 }, 'oops');  // error