詳解ES6 中的Object.assign()的用法實(shí)例代碼
方法:Object.assign()
作用:將sourse對(duì)象的 值 賦值給目標(biāo)對(duì)象,兩者都有的會(huì)覆蓋,target獨(dú)有會(huì)保留,sourse獨(dú)有會(huì)添加
使用方法:
Object.assign方法實(shí)行的是淺拷貝,而不是深拷貝。也就是說,如果源對(duì)象某個(gè)屬性的值是對(duì)象,那么目標(biāo)對(duì)象拷貝得到的是這個(gè)對(duì)象的引用。
var object1 = { a: { b: 1 } };
ar object2 = Object.assign({}, object1);
object1.a.b = 2;
console.log(object2.a.b);
2.用途
2.1為對(duì)象添加屬性
2.2為對(duì)象添加方法
2.3克隆對(duì)象
function copyFnc(origin) {
return Object.assign({}, origin)}
var sur = { a: 1, b: 2 };
console.log(copyFnc(sur));
上面代碼將原始對(duì)象拷貝到一個(gè)空對(duì)象,就得到了原始對(duì)象的克隆。
不過,采用這種方法克隆,只能克隆原始對(duì)象自身的值,不能克隆它繼承的值。如果想要保持繼承鏈,可以采用下面的代碼。
function clone(origin) {
let originProto = Object.getPrototypeOf(origin);
return Object.assign(Object.create(originProto), origin);
}
在JS里子類利用Object.getPrototypeOf去調(diào)用父類方法,用來獲取對(duì)象的原型。
2.4 合并多個(gè)對(duì)象
//多個(gè)對(duì)象合并到某個(gè)對(duì)象
const merge = (target, ...sources) => Object.assign(target, ...sources);
//多個(gè)對(duì)象合并到新對(duì)象
const merge = (...sources) => Object.assign({}, ...sources);
2.5為屬性指定默認(rèn)值
const DEFAULTS = {
logLevel: 0,
outputFormat: 'html'};
function processContent(options) {let options = Object.assign({}, DEFAULTS, options);
}
到此這篇關(guān)于詳解ES6 Object.assign()的用法及用途的文章就介紹到這了,更多相關(guān)ES6 Object.assign()的用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
layui radio單選限制下一個(gè)radio單選的實(shí)例
今天小編就為大家分享一篇layui radio單選限制下一個(gè)radio單選的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
TypeScript開發(fā)小狀況記錄之選且只選一個(gè)
在開發(fā)中需要定義一個(gè)對(duì)象的類型,此類型必須包含某n個(gè)字段中的其中一種,這篇文章主要給大家介紹了關(guān)于TypeScript開發(fā)小狀況記錄之選且只選一個(gè)的相關(guān)資料,需要的朋友可以參考下2022-10-10
js實(shí)現(xiàn)七夕表白彈幕效果 jQuery實(shí)現(xiàn)彈幕技術(shù)
這篇文章主要介紹了js實(shí)現(xiàn)七夕表白彈幕效果,jQuery實(shí)現(xiàn)彈幕技術(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
JavaScript 核心參考教程 RegExp對(duì)象
JavaScript 核心參考教程RegExp對(duì)象,學(xué)習(xí)正則表達(dá)式的朋友可以參考下。2009-10-10
javascript實(shí)現(xiàn)滑動(dòng)解鎖功能
本篇文章主要介紹了javascript實(shí)現(xiàn)滑動(dòng)解鎖功能的方法實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
移動(dòng)端日期插件Mobiscroll.js使用詳解
這篇文章主要為大家詳細(xì)介紹了移動(dòng)端日期插件Mobiscroll.js的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
使用 JavaScript 創(chuàng)建并下載文件(模擬點(diǎn)擊)
本文將介紹如何使用 JavaScript 創(chuàng)建文件,并自動(dòng)/手動(dòng)將文件下載,這在導(dǎo)出原始數(shù)據(jù)時(shí)會(huì)比較方便2019-10-10
Javascript實(shí)現(xiàn)運(yùn)算符重載詳解
本文給大家匯總介紹了Javascript實(shí)現(xiàn)運(yùn)算符重載的方法,實(shí)現(xiàn)的思路很簡(jiǎn)單,有需要的小伙伴可以來看看2018-04-04
超強(qiáng)的IE背景圖片閃爍(抖動(dòng))的解決辦法
超強(qiáng)的IE背景圖片閃爍(抖動(dòng))的解決辦法...2007-09-09

