복제 한 변수에서 다른 변수로 개체를 복사하는 것 외에는 아무것도 아닙니다. 할당 연산자 를 사용한 단순 복제 우리의 의도대로 작동하지 않습니다. 복제가 발생할 때 변수의 변경 사항은 다른 변수의 변경 사항을 반영하지 않아야 합니다. 하지만 할당 연산자의 경우 , 변수의 변경 사항은 분명히 다른 변수에 반영됩니다. 따라서 이 단점을 줄이기 위해 ES6은확산 연산자를 제공했습니다. .
예시
다음 예에서 복제 확산 연산자를 사용하여 수행됩니다. . 따라서 한 변수의 변경 사항은 다른 변수에 반영됩니다.
<html> <body> <script> var org = {org1 : "Serveneedy", org2 : "Praveenlatha", org3 : "Redcross" }; document.write(JSON.stringify("without change org :" + " "+ JSON.stringify(org))); var neworg = org; org.org1 = "gatesfoundation"; document.write("</br>"); document.write(JSON.stringify("with change org :" + " "+ JSON.stringify(org))); document.write("</br>"); document.write(JSON.stringify("change also reflected in neworg :" +" "+JSON.stringify(neworg))); </script> </body> </html>
출력
"without change org : {\"org1\":\"Serveneedy\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "with change org : {\"org1\":\"gatesfoundation\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "change also reflected in neworg :{\"org1\":\"gatesfoundation\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}"
예시
다음 예에서 확산 연산자 원본 개체가 변경되도록 사용됩니다. 복제된 개체에는 반영되지 않습니다.
<html> <body> <script> var org = {org1 : "Serveneedy", org2 : "Praveenlatha", org3 : "Redcross" }; document.write(JSON.stringify("without change org :" + " "+ JSON.stringify(org))); var neworg = {...org}; org.org1 = "gatesfoundation"; document.write("</br>"); document.write(JSON.stringify("with change org :" + " "+ JSON.stringify(org))); document.write("</br>"); document.write(JSON.stringify("change also reflected in neworg" +" "+JSON.stringify(neworg))); </script> </body> </html>
출력
"without change org : {\"org1\":\"Serveneedy\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "with change org : {\"org1\":\"gatesfoundation\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}" "change also reflected in neworg : {\"org1\":\"Serveneedy\",\"org2\":\"Praveenlatha\",\"org3\":\"Redcross\"}"