Object.assign()拷貝
當對象中只有一級屬性,沒有二級屬性的時候,此方法為深拷貝,但是對象中有對象的時候,此方法,在二級屬性以后就是淺拷貝。
const obj = { a: 3, b: 4, c: { d: 66, e: 77 } } const obj2 = (<any>Object).assign({}, obj) obj.a = 1; obj.b = 2; obj.c.d = 55; obj.c.e = 88; console.log(obj2)
深拷貝
改變原對象,新對象不受影響.
var obj = {name:'張三'}; var str; var newObj = {}; str = JSON.stringify(obj), //序列化對象 newObj = JSON.parse(str); //還原 obj.name = '李四'; console.log(newObj);