-
JavaScript 입문 : JSON.parse( JSON.stringify( ) )를 이용한 깊은 복사컴퓨터 알아가기/JavaScript 2022. 8. 31. 19:30728x90반응형
이전까지 기본적인 JSON의 구조와 의미 아울러 JSON.parse( ) 메소드와 JSON.stringify( ) 메소드에 대해 기본적인 내용을 정리 하였습니다.
이 중 두 메소드를 같이 쓰는 경우가 있습니다. 이는 문자열화 시킨내용을 자바스크립트 언어로 사용할 수 있는 객체로 만들어 주는 과정인데 첫번째 문자열로 변환되는 과정에서 참조객체가 무시됩니다.
따라서 일반 객체에서 변수를 바꾸어 주면 결과값이 바뀌는 형태가 아닌 최초 선언된 내용을 그대로 담고 있다고 보면 됩니다.
무슨 말인지 예를 들어 보겠습니다.
전체 과일 배열속에 3가지 객체를 넣어 보았습니다. 첫번째 apple에 접근하기 위해 fruit1과 fruit2를 만들어 다음과 같이 참조하고 콘솔에 나타내 보았습니다.
결과값은 같게 보입니다만, fruit1은 깊은복사(Deep Copy)가 이루어졌고 fruit2는 얕은복사(Shallow Copy)가 이루어 졌습니다.
확인하는 방법은 apple의 과일 이름을 peach로 바꾸고자 다음과 같이 시도하면 fruit2만 이름이 바뀝니다. 사실 그동안 우리가 연습했던 방식이 얕은복사 개념이었습니다.
물론 자바스크립트에서 얕은복사 방식과 깊은복사 방식이 여러가지가 있습니다. 다음 장에는 기본적인 내용을 정리하고 넘어 가도록 하겠습니다.
반응형'컴퓨터 알아가기 > JavaScript' 카테고리의 다른 글
JavaSCript 입문 : 자바스크립트에서 this는 무엇인가? - 1 (0) 2022.09.02 JavaScript 입문 : 참조(Referal), 얕은 복사(Shallow Copy), 깊은 복사(Deep Copy) - 1 (3) 2022.09.01 JavaScript 입문 : JSON.parse( ) 메소드 이해 (0) 2022.08.30 JavaScript 입문 : JSON.stringify( ) 메소드 이해 (0) 2022.08.30 JavaScript 입문 : JSON이란 도대체 무엇인가? (기본 개념) (0) 2022.08.29