자바스크립트 참조 타입과 원시 타입의 다른 점

자바스크립트는 동적 프로그래밍 언어로서 많은 타입들을 지원합니다. 이 중에서도 가장 기본이 되는 타입은 원시 타입참조 타입입니다. 이 두 가지 타입은 사용하는 방식과 동작 원리에서 다소 차이가 있습니다. 이번 블로그 포스트에서는 자바스크립트의 원시 타입과 참조 타입의 다른 점에 대해 살펴보겠습니다.

원시 타입 (Primitive Types)

원시 타입은 메모리에 고정된 크기로 저장되는 값으로, 다음과 같은 종류가 있습니다:

원시 타입은 변수에 값을 직접 저장합니다. 예를 들어, 다음과 같이 message 변수에 문자열 타입의 값을 저장할 수 있습니다:

let message = "Hello, world!";

여기서 message 변수는 문자열 “Hello, world!”를 바로 저장하고 있습니다.

원시 타입의 특징

참조 타입 (Reference Types)

참조 타입은 객체 (Object) 형태의 값을 나타내며, 다음과 같은 종류가 있습니다:

참조 타입은 원시 타입과는 다른 방식으로 동작합니다. 변수는 실제 값의 주소 (Address)를 저장하며, 실제 값은 힙 (Heap) 메모리에 저장됩니다.

참조 타입의 특징

let person1 = { name: "John", age: 25 };
let person2 = person1; // person1의 참조를 person2에 할당

person2.age = 30;

console.log(person1.age); // 출력: 30

위의 예제에서 person2person1의 참조를 할당받았기 때문에, person2age 속성을 변경하면 person1에도 반영됩니다.

결론

자바스크립트에서 원시 타입과 참조 타입은 값의 저장 방식과 동작 원리에서 차이가 있습니다. 원시 타입은 값에 의한 전달을 하며 불변성을 가지고 있으며, 참조 타입은 참조에 의한 전달을 하며 가변성을 가지고 있습니다. 이러한 차이점을 이해한다면 자바스크립트에서 변수와 값의 동작을 더욱 잘 이해할 수 있을 것입니다.