给定一个已知键和值的接口(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/