假设我有一些 enum E { A = "a", B = "b"}。我想强制某些接口或类型(为了可读性,我只提到接口)具有 E 的所有键。但是,我想分别指定每个字段的类型。因此, { [P in E]: any }甚至{ [P in E]: T }都不是正确的解决方案。
例如,代码可能包含两个实现 E 的接口:
E { A = "a", B = "b"}Interface ISomething { a: string, b: number}Interface ISomethingElse { a: boolean, b: string}随着 E 在开发过程中的扩展,它可能会变成:
E { A = "a", B = "b", C="c"}Interface ISomething { a: string, b: number, c: OtherType}Interface ISomethingElse { a: boolean, b: string, …