本篇文章給大家分享的是有關(guān)Object.assign()怎么在ES6 中使用,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司專(zhuān)注于麻城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供麻城營(yíng)銷(xiāo)型網(wǎng)站建設(shè),麻城網(wǎng)站制作、麻城網(wǎng)頁(yè)設(shè)計(jì)、麻城網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造麻城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供麻城網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。方法:Object.assign()
作用:將sourse對(duì)象的值 賦值給目標(biāo)對(duì)象,兩者都有的會(huì)覆蓋,target獨(dú)有會(huì)保留,sourse獨(dú)有會(huì)添加
使用方法:
Object.assign方法實(shí)行的是淺拷貝,而不是深拷貝。也就是說(shuō),如果源對(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);
function copyFnc(origin) { return Object.assign({}, origin)} var sur = { a: 1, b: 2 }; console.log(copyFnc(sur));
上面代碼將原始對(duì)象拷貝到一個(gè)空對(duì)象,就得到了原始對(duì)象的克隆。
不過(guò),采用這種方法克隆,只能克隆原始對(duì)象自身的值,不能克隆它繼承的值。如果想要保持繼承鏈,可以采用下面的代碼。
function clone(origin) { let originProto = Object.getPrototypeOf(origin); return Object.assign(Object.create(originProto), origin); }
在JS里子類(lèi)利用Object.getPrototypeOf去調(diào)用父類(lèi)方法,用來(lái)獲取對(duì)象的原型。
//多個(gè)對(duì)象合并到某個(gè)對(duì)象
const merge = (target, ...sources) => Object.assign(target, ...sources);
//多個(gè)對(duì)象合并到新對(duì)象
const merge = (...sources) => Object.assign({}, ...sources);
const DEFAULTS = { logLevel: 0, outputFormat: 'html'}; function processContent(options) {let options = Object.assign({}, DEFAULTS, options); }
以上就是Object.assign()怎么在ES6 中使用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。