let obj1=obj;和let obj1={...obj}的區別


    let obj={
        name:"吳小明", age:24, love:{ pingpang:true } } let obj1=obj; obj.name="孫藝珍"; obj.love.pingpang=false; console.log(obj) console.log(obj1)

輸出結果為:

{name: "孫藝珍", age: 24,love: {pingpang: false}}
aa.html:20 {name: "孫藝珍", age: 24,love: {pingpang: false}}

 

    let obj={
        name:"吳小明",
        age:24,
        love:{
            pingpang:true
        }
    }
    let obj1={...obj};
    obj.name="孫藝珍";
    obj.love.pingpang=false;
    console.log(obj)
    console.log(obj1)

輸出結果為:

{name: "孫藝珍", age: 24,love: {pingpang: false}}
aa.html:20 {name: "吳小明", age: 24,love: {pingpang: false}}

 

所以,let obj1={...obj};的意思是如果obj只有一層數據結構,這樣復制的對象沒有引用關系。


免責聲明!

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



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