详解ES6 中的Object.assign()的用法实例代码


Posted in Javascript onJanuary 11, 2021

方法Object.assign()
作用:将sourse对象的 赋值给目标对象,两者都有的会覆盖,target独有会保留,sourse独有会添加
使用方法

Object.assign方法实行的是浅拷贝,而不是深拷贝。也就是说,如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用。

var object1 = { a: { b: 1 } };

ar object2 = Object.assign({}, object1);

object1.a.b = 2;

console.log(object2.a.b);

2.用途

2.1为对象添加属性

 2.2为对象添加方法

2.3克隆对象

function copyFnc(origin) {

return Object.assign({}, origin)}

var sur = { a: 1, b: 2 };

console.log(copyFnc(sur));

上面代码将原始对象拷贝到一个空对象,就得到了原始对象的克隆。

不过,采用这种方法克隆,只能克隆原始对象自身的值,不能克隆它继承的值。如果想要保持继承链,可以采用下面的代码。

function clone(origin) {

let originProto = Object.getPrototypeOf(origin);

return Object.assign(Object.create(originProto), origin);

}

在JS里子类利用Object.getPrototypeOf去调用父类方法,用来获取对象的原型。

2.4 合并多个对象

//多个对象合并到某个对象

const merge = (target, ...sources) => Object.assign(target, ...sources);

//多个对象合并到新对象

const merge = (...sources) => Object.assign({}, ...sources);

2.5为属性指定默认值

const DEFAULTS = {
logLevel: 0,
outputFormat: 'html'};
function processContent(options) {let options = Object.assign({}, DEFAULTS, options);
}

到此这篇关于详解ES6 Object.assign()的用法及用途的文章就介绍到这了,更多相关ES6 Object.assign()的用法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js 小贴士一星期合集
Apr 07 Javascript
Jquery带搜索框的下拉菜单
May 06 Javascript
jquery使用jxl插件导出excel示例
Apr 14 Javascript
Js实现自定义右键行为
Mar 26 Javascript
Javascript中apply、call、bind的巧妙使用
Aug 18 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
Vue弹出菜单功能的实现代码
Sep 12 Javascript
利用hasOwnProperty给数组去重的面试题分享
Nov 05 Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
node.js处理前端提交的GET请求
Aug 30 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 jQuery
vue实现防抖的实例代码
Jan 11 #Vue.js
详解uniapp的全局变量实现方式
Jan 11 #Javascript
微信小程序抽奖组件的使用步骤
Jan 11 #Javascript
JS数组索引检测中的数据类型问题详解
Jan 11 #Javascript
了不起的11个JavaScript代码重构最佳实践小结
Jan 11 #Javascript
js删除对象中的某一个字段的方法实现
Jan 11 #Javascript
jQuery实现购物车全功能
Jan 11 #jQuery
You might like
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
接收键盘指令的脚本
2006/06/26 Javascript
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python 正则表达式实现计算器功能
2017/04/29 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
中东奢侈品市场:Coveti
2019/05/12 全球购物
建筑个人求职信范文
2014/01/25 职场文书
校园安全教育广播稿
2014/02/17 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
保护环境建议书400字
2014/05/13 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL