typescript - TypeScript 扩展接口/类型的所有值类型
问题描述
给定一个已知键和值的接口,是否可以告诉 TypeScript 我想要一个类型,该类型具有与我的原始接口相同的所有键,并且值类型通过原始类型和另一种类型的联合扩展。描述所需行为的伪(可悲的是非功能性)TypeScript 代码:
type FancyCSSObject = { [key: keyof CSSObject]: CSSObject[key] | OtherType };
以上不是有效的 TypeScript,所以我的问题是,如何在有效的 TypeScript 代码中表达这一点?
解决方案
在我完成发布之前,我意识到了这个问题的解决方案,但是看到它是一种没有完整记录的极端案例,我将分享我的解决方案,以防其他人需要这个:
type FancyCSSObject = {
[key in keyof CSSObject]: CSSObject[key] | OtherType;
};
我接近解决方案。我希望这可以帮助别人。
推荐阅读
- javascript - node.js 的简单服务器测试不起作用,没有输出
- android - 如何使用 Google Maps API 在我的 Google Maps Android 应用程序中添加路线?
- sass - 悬停时简单的 CSS 更改元素
- mapbox-android - 如何将 Mapbox 的 Expression.get() 的结果转换为适合 fillColor() 的颜色?
- .net - 使用 '.NETFramework,Version=v4.6.1' 而不是项目目标框架'
- talend - 在 Talend 或其他工具中处理奇怪的分隔数据格式?
- postgresql - 使用主键和外键构建 ltree
- sql-server - SQL Server 功能优化(耗时过长)
- flask - 将自定义 CLI 命令移动到另一个文件
- apache - Apache mod_ssl 日志客户端证书