面试题:请问typescript如何做到对象合并的类型推导?
实现两个对象部分属性的合并,比如说t,s两个对象,当s中有t不存在的属性时给t加上s的属性并赋值。要求不更改t的引用地址。方法如下
const merge = (target, source)=> {
for (const key in source) {
if (typeof target[key] === 'undefined') {
target[key] = source[key];
}
}
return target;
}
补充1个测试案例
const a = { name: undefined, age: 2 };
const b = { name: '小明', weigth: 100 };
const c = merge(a,b)
console.log(a) // { name: '小明', age: 2,weigth: 100 }
console.log(c) // { name: '小明', age: 2,weigth: 100 }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
类型上的合并只需要使用
&
即可还有一种方法可以兼具类型与效果
ts play
这样?
不就是A&B的事情嘛,有那么复杂吗