[Javascript] 객체 수정시 원본이 변경되는 문제(얕은 복사와 깊은 복사)
자바스크립트의 값의 종류는 원시값과 참조값이 존재한다. Boolean, String, number, null, undefined : 원시값 Object, Array : 참조값 원시값의 경우 새로운 변수에 할당시 값 자체가 할당되고, 참조값은 값의 주소가 할당된다. 그러므로 새로운 변수에 할당 후 수정하면, 객체나 배열의 경우 원본의 값이 변경되어버린다. const obj = {'a': 1, 'b': 2}; const tempObj = obj; tempObj.a = 3; console.log(obj); // {'a': 3, 'b': 2} 문제 문제는, formData의 변경이 필요할때 등 원본을 보존하는 복사가 필요한 경우가 생긴다. 예를 들면, 아래와 같은 form 데이터가 있다. formData = {..
2021. 5. 6.