[JS] 원시 값과 객체 비교 ✏️
1️⃣ 동적 타이핑을 지원하는 자바스크립트에서 데이터의 타입을 크게 2개로 나누는 이유는?
1️⃣ 동적 타이핑이란?
- 변수의 타입 지정 없이 값을 할당하면 값의 타입에 따라 자동으로 타입이 결정되는 것
int num = 3;
JavaScript
const num = 3;
ex) Java
2️⃣ 원시타입 VS 객체타입
const dogs = {
first = 'cream';
second = 'cookie';
}
dogs.first = '크림'; (⭕)
const obj = {};
➡️ 메모리에 참조값 (ex. 0x0001)이 저장
2️⃣ 값에 의한 전달 VS 참조에 의한 전달
- 원시값을 가지는 변수를 다른 변수에 할당 시, 원본의 원시값이 복사되어 전달
const a = 100;
const b = a;
➡️ b에는 100이 복사되어 전달
객체를 가지는 변수를 다른 변수에 할당 시, 원본의 참조값(메모리주소)가 복사되어 전달
const a = {num:10};
const b = a;
➡️ b에는 a의 메모리주소(ex.0X0001)이 복사되어 전달