TypeScript 扩展接口(interface)/类型的所有值类型

标签 typescript types interface extend

给定一个已知键和值的接口(interface),是否可以告诉 TypeScript 我想要一个具有与原始接口(interface)相同的键的类型,并通过原始类型和另一个类型的联合扩展值类型。描述所需行为的伪(不幸的是非功能性)TypeScript 代码:

type FancyCSSObject = { [key: keyof CSSObject]: CSSObject[key] | OtherType };

上面的内容不是有效的 TypeScript,所以我的问题是,如何用有效的 TypeScript 代码来表达它?

最佳答案

在我发布这篇文章之前,我意识到了这个问题的解决方案,但是看到它是一种没有完整记录的极端情况,我将分享我的解决方案,以防其他人需要这个:

type FancyCSSObject = {
  [key in keyof CSSObject]: CSSObject[key] | OtherType;
};

我已经接近解决方案了。我希望这对某人有帮助。

关于TypeScript 扩展接口(interface)/类型的所有值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59786203/

相关文章:

angular - 异步操作符和订阅 observable 有什么区别?

javascript - 在初始化时将所有过滤器选项设置为 'active' - Angular

types - 导入 Control.Exception 引起的 GHC 编译错误

c - 理解 C 中的语句

java - 接口(interface)除了拥有正确的方法之外还有其他意义吗

c# - 在 C# 中返回给定接口(interface)的泛型类型

typescript - 在 Typescript 中获取泛型类型参数的名称

actionscript-3 - 针对SoundEvent修复Flash错误1046

.net - 插件向后兼容性

angular - 使用 Angular 2 中的 typescript 关闭引导模式