欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解ES6 中的Object.assign()的用法實(shí)例代碼

 更新時(shí)間:2021年01月11日 14:37:08   作者:半夏遮流年シ  
這篇文章主要介紹了ES6 Object.assign()的用法及用途,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

方法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)文章

最新評(píng)論