ES6是JavaScript的最新版本,它提供了許多新的功能和語法,其中之一就是可以深拷貝JSON對象。在ES6中,我們可以使用Object.assign()方法來進行深拷貝。
//深拷貝對象 const original = { name: "張三", age: 25, address: { province: "廣東省", city: "廣州市", district: "天河區" } }; const copyObj = Object.assign({}, original); console.log(copyObj); //修改深拷貝對象的地址 copyObj.address.district = "海珠區"; console.log(copyObj); //修改原始對象的地址不會影響深拷貝對象 console.log(original);
在上面的代碼中,我們定義了一個名為original的JSON對象,它有三個屬性,其中一個屬性address又包含了三個子屬性。我們使用Object.assign()方法將original對象深拷貝給了copyObj對象。
在修改深拷貝對象的地址后,我們輸出了copyObj對象,發現其address屬性的值已經改變了。但是,我們輸出原始對象original,發現其address屬性的值并沒有變化。這就證明了我們成功進行了深拷貝,且修改深拷貝對象不會影響原始對象。
總的來說,ES6中提供了Object.assign()方法,使得我們可以非常方便地對JSON對象進行深拷貝。這為我們在編程過程中處理JSON對象帶來了很大的便利。