ES6 新增的方法 深拷貝和錢拷貝

2021-10-12 05:04:57 字數 588 閱讀 7102

淺拷貝 物件或陣列 直接用等號賦值的就是淺拷貝,乙個發生改變,另乙個也會跟著發生改變,他只是指向另乙個位址;

例子:

//var obj1 = 

// var obj2 = obj1

// console.log(obj1) //

// console.log(obj2) //

// obj1.name="李四"

// console.log(obj2) //

// var arr1 = [11,22,33]

// var arr2 = arr1

// arr1[0]='aaa'

// console.log(arr2) // ['aaa',22,33]

深拷貝 把裡面的值乙個乙個複製出來,開乙個新的記憶體放進去,記憶體位址不一樣,互不影響

例子// var arr1 = [11,22,33]

// var arr2=

// for(let i in arr1)

// arr1[0]=『abc』;

// console.log(arr2) //[『abc』,11,22,33]

ES6 淺拷貝和深拷貝

1.深拷貝 是指修改拷貝的新變數不會改變原有變數的值,新變數與原有變數指向不同的記憶體位址 基本資料型別一般是深拷貝,修改b的值不會影響a let a 1 let b a b 2 console.log a,b 1 22.淺拷貝 是指修改拷貝的新變數會改變原有變數的值,新變數與原有變數指向相同的記憶...

es6 物件深拷貝和淺拷貝

簡介 在專案中,為了不影響原有資料,在運算元據時,經常需要深拷貝乙個物件,在開發過程中,實踐得出。const object1 const object2 object.assign object1 console.log object2 object 這是淺拷貝,返回的不是乙個新物件,而是把乙個或多...

ES6 物件解構賦值(淺拷貝 VS 深拷貝)

物件的擴充套件運算子 用於取出引數物件的所有可遍歷屬性,拷貝到當前物件之中。let aa let bb console.log bb 擴充套件運算子 可以用於合併兩個物件 let aa let bb let cc 等同於 let cc object.assign aa,bb console.log ...