JavaScript——淺拷貝的四種方法


       let obj = {
                name:'AAA',
                age:18
            }
            
            // 1,新建新對象,復制原來對象的值
            let obj1 = {
                name:obj.name,
                age:obj.age
            }
            obj1.name = 'BBB'
            // console.log(obj); // AAA
            // console.log(obj1); // BBB
            
            // 2,新建對象,循環添加
            let obj2 = {}
            for(let key in obj){
                obj2[key] = obj[key]
            }
            obj2.name = 'CCC'
            // console.log(obj); // AAA
            // console.log(obj2); // CCC
            
            // 3, Object.assign()
            let obj3 = Object.assign({},obj) // 第一個參數目標對象要加上
            obj3.name = 'DDD'
            console.log(obj); // AAA
            console.log(obj3); // DDD
            
            // 4,點語法展開
            let obj4 = Object.assign({...obj})
            obj4.name = 'EEE'
            console.log(obj); // AAA
            console.log(obj4); // EEE

 

什么是對象的淺拷貝?

簡單的理解就是拷貝了對象的第一層屬性,如果對象的某個屬性還有第二層,第三層的數據,淺拷貝是訪問不到的。

比如說某個屬性的值是對象,那淺拷貝無法復制該對象的數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM