我已经编写了以下函数:
function extend(obj, key, value) {
return { ...obj, [key]: value }
}
理想情况下,我希望能够通用地使用这个函数,其中obj
是Object
,其类型在调用点是已知的,key
是字符串,在调用点是常量,value
是值,其类型在调用点是已知的。并且与该关键字相关联的旧值可以是与新的value
相同的类型,也可以不是。
我已经浏览了Utility Types reference,但是我看不到任何允许我为extend
编写有用类型的东西,这可能吗?
1条答案
按热度按时间7d7tgy0s1#
您需要generics(阅读整个页面以了解这里发生了什么):
Playground