[javascript] 객체 할당과 JSON 변환.

자바스크립트에서 객체 할당과 JSON 변환은 데이터 처리에 매우 중요한 부분입니다. 이 블로그 포스트에서는 객체 할당과 JSON 변환에 대해 알아보고, 이 둘 간의 차이점과 주의할 점을 살펴보겠습니다.

1. 객체 할당(Object Assignment)

자바스크립트에서 객체 할당은 한 객체의 속성 값을 다른 객체에 복사하는 과정을 말합니다. 이때, 할당 연산자(=)를 사용하여 객체를 복사할 수 있습니다.

// 객체 할당 예제
let originalObject = { name: 'John', age: 30 };
let copiedObject = originalObject; // originalObject를 copiedObject에 할당

copiedObject.name = 'Jane';
console.log(originalObject.name); // 출력 결과: Jane

위 예제에서 볼 수 있듯이, 객체 할당은 참조에 의한 할당이기 때문에 copiedObject를 변경하면 originalObject도 함께 변합니다. 이는 같은 메모리를 참조하기 때문에 발생하는 현상입니다.

2. JSON 변환(JSON Conversion)

JSON(JavaScript Object Notation)은 데이터를 효율적으로 저장하고 교환하기 위한 경량의 데이터 교환 형식입니다. 자바스크립트 객체를 JSON 문자열로 변환하거나, JSON 문자열을 자바스크립트 객체로 변환하는 과정을 JSON 변환이라고 합니다.

2.1. 객체를 JSON 문자열로 변환하기

자바스크립트에서 JSON.stringify() 메서드를 사용하여 객체를 JSON 문자열로 변환할 수 있습니다.

let person = { name: 'Alice', age: 25 };
let jsonPerson = JSON.stringify(person);
console.log(jsonPerson); // 출력 결과: {"name":"Alice","age":25}

2.2. JSON 문자열을 객체로 변환하기

자바스크립트에서 JSON.parse() 메서드를 사용하여 JSON 문자열을 객체로 변환할 수 있습니다.

let jsonText = '{"name":"Bob","age":28}';
let person = JSON.parse(jsonText);
console.log(person.name); // 출력 결과: Bob

3. 객체 할당과 JSON 변환의 차이

객체 할당은 참조에 의한 할당이지만, JSON 변환은 무조건 값에 의한 할당입니다. 이에 따라 객체 할당은 참조를 공유하지만, JSON 변환은 별도의 값을 만들어냅니다.

4. 주의할 점

객체 할당과 JSON 변환을 사용할 때 주의해야 할 점은 데이터의 불변성입니다. 객체 할당은 참조를 공유하기 때문에 하나를 변경하면 다른 하나도 영향을 받지만, JSON 변환은 별도의 값을 만들기 때문에 원본 객체에 영향을 미치지 않습니다.

마치며

이 블로그 포스트에서는 객체 할당과 JSON 변환을 알아보았습니다. 객체 할당은 참조에 의한 할당이고, JSON 변환은 값에 의한 할당이라는 차이점을 이해하는 것이 중요합니다. 데이터 처리 시에 이러한 차이를 고려하여 적절히 활용하는 것이 중요합니다.