js - assign

66 阅读1分钟
  • assign: 合并对象的方法之一
  1. 会修改对象,并且返回新的对象
/** * 简单复制 */ 
    dest = {};
    src = { id: 'src' };
    result = Object.assign(dest, src); 
    // Object.assign 修改目标对象 
    // 也会返回修改后的目标对象 
    console.log(dest === result); 
    // true 
    console.log(dest !== src); 
    // true 
    console.log(result);
    // { id: src } 
    console.log(dest); 
    // { id: src }
/** * 多个源对象 */ 
    dest = {}; 
    result = Object.assign(dest, { a: 'foo' }, { b: 'bar' }); 
    console.log(result); 
    // { a: foo, b: bar }  

如果赋值期间出错,则操作会中止并退出,同时抛出错误。Object.assign()没有“回滚”之前 赋值的概念,因此它是一个尽力而为、可能只会完成部分复制的方法。