两个对象合并 Object.assign 使用指南

1. Object.assign 的基本语法

javascript
 
 
Object.assign(target, ...sources)
 

  • 参数:
    • target:目标对象(接收源对象属性的对象)。
    • sources:一个或多个源对象(要复制属性的对象)。
  • 返回值:合并后的目标对象(target)。

2. 代码中的作用

javascript
 
 
let par = Object.assign(
  { 
    tokenKey: window.localStorage.getItem("wx_tokenKey"), 
    webSiteId: this.$route.query.mediaId 
  }, 
  this.FrmData
);
 

这段代码的作用是:将两个对象的属性合并到一个新对象 par 中,具体逻辑如下:

  • 第一个参数(目标对象):包含两个固定属性
    • tokenKey:从本地存储获取的登录凭证。
    • webSiteId:从路由参数中获取的媒体 ID。
  • 第二个参数(源对象):this.FrmData(通常是表单输入的数据,如技能名称、服务范围等)。
  • 合并规则:
    • 如果源对象(this.FrmData)和目标对象有同名属性,源对象的属性会覆盖目标对象的属性。
    • 最终 par 会包含所有合并后的属性,用于后续的表单验证或接口请求。

3. 示例说明

假设:

javascript
 
 
// 目标对象
const target = { tokenKey: 'abc123', webSiteId: 456 };
// 源对象(表单数据)
const FrmData = { name: '前端开发', skillDescription: '网站开发', phone: '13800138000' };

// 合并后
const par = Object.assign(target, FrmData);
// par 的结果:
// {
//   tokenKey: 'abc123',
//   webSiteId: 456,
//   name: '前端开发',
//   skillDescription: '网站开发',
//   phone: '13800138000'
// }
posted @ 2025-07-04 16:09  桂长江  阅读(14)  评论(0)    收藏  举报