【发布时间】:2021-09-29 00:28:20
【问题描述】:
给定如下界面:
interface Payload {
value1: number;
value2: string;
}
我想创建一个函数,它接受 Payload[] 并且只接受扩展 number 的 Payload 的键。像这样的:
function F<T, K extends keyof T, T[K] extends number>(arr: T[], property: K) {
//
}
function foo(payloads: Payload[]) {
F(payloads, "value1"); // should work
F(payloads, "value2"); // should not work because value2 is a string
F(payloads, "value3"); // should not work because value3 not in Payload[]
}
See playground
【问题讨论】:
标签: typescript