小编pol*_*oli的帖子

如何强制接口在打字稿 3.0 中“实现”枚举的键?

假设我有一些 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, …

types strong-typing typescript

5
推荐指数
1
解决办法
5620
查看次数

标签 统计

strong-typing ×1

types ×1

typescript ×1