當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript 克隆/clone:Object.assign
生活随笔
收集整理的這篇文章主要介紹了
javascript 克隆/clone:Object.assign
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Object.assign
Object.assign() 方法用于將所有可枚舉屬性的值從一個或多個源對象復制到目標對象。它將返回目標對象。
語法:
Object.assign(target, ...sources)合并對象
const target = { a: 1, b: 2 }; const source = { b: 4, c: 5 };const returnedTarget = Object.assign(target, source);console.log(target); // expected output: Object { a: 1, b: 4, c: 5 }console.log(returnedTarget); // expected output: Object { a: 1, b: 4, c: 5 }合并多個對象
const source1 = { a: 1, b: 2 }; const source2 = { b: 4, c: 5 }; const source3 = { d: 6, f: 5 };const target= Object.assign({}, source1, source2, source3);console.log(target); // expected output: Object {a: 1, b: 4, c: 5, d: 6, f: 5}淺克隆
const source = { b: 4, c: 5 };const returnedTarget = Object.assign({}, source);console.log(source); // expected output: Object { b: 4, c: 5 }console.log(returnedTarget); // expected output: Object { b: 4, c: 5 }深克隆
Object.assign() 無法完成深克隆。如需深克隆,需要使用其他辦法。
let source = { a: 0 , b: { c: 0}}; let target = JSON.parse(JSON.stringify(source ));繼承屬性和不可枚舉屬性是不能拷貝
const obj = Object.create({foo: 1}, { // foo 是個繼承屬性。bar: {value: 2 // bar 是個不可枚舉屬性。},baz: {value: 3,enumerable: true // baz 是個自身可枚舉屬性。} });const copy = Object.assign({}, obj); console.log(copy); // { baz: 3 }參考
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
總結
以上是生活随笔為你收集整理的javascript 克隆/clone:Object.assign的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 麦粒肿红肿后多久能好
- 下一篇: 鲶鱼汤的功效与作用、禁忌和食用方法