TypeScript中函数第二个参数的类型由第一个传入参数决定

薛之猫
  • 5
新手上路,请多包涵
interface Test {
  one: boolean
  two: string
}
declare type K = keyof Test
function foo(key: K, value: any): void {
  // do something...
}

如所示代码,希望实现编译阶段就对foo函数的第二个参数value进行正确的类型推导,若传入key为'one',则value限制为boolean,若传入key为'two',同理...
新手,求大佬解答一下实现方式,或者TypeScript是否能实现???

回复
阅读 1.2k
1 个回答
function foo<K extends keyof Test>(key: K, val: Test[K]) {
    // 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏