원시 타입(copy of value) VS 참조 타입(copy of reference)
# 원시 타입
: 값에 의한 복사 copy of value
let number1 = 1;
let string1 = 'ABC';
let bool1 = true;
let number2 = number1;//원시 타입 복사
let string2 = string1;
let bool2 = bool1;
number2 = 2; //재설정
string2 = '가나다';
bool2 = false;
console.log('~1:', number1, string1, bool1); //~1: 1 ABC true
console.log('~2:', number2, string2, bool2); //~2: 2 가나다 false
//복사한 변수를 재설정해도 1변수에는 영향 없음!!

# 참조 타입
: 참조에 의한 복사 copy by reference
const obj1 = {
num: 1, str: 'ABC', bool: true
};
const obj2 = obj1; // 참조 타입 복사
// ⭐️ const임에도 내부 값은 변경 가능함 주목
// 내부 변경 방지는 이후 배울 Object.freeze 함수로
obj2.num = 2;
obj2.str = '가나다';
obj2.bool = false;
console.log('obj1:', obj1); //obj1: {num: 2, str: '가나다', bool: false}
console.log('obj2:', obj2); //obj2: {num: 2, str: '가나다', bool: false}
//복사한 객체 안의 값을 변경하면 1번객체 안의 값들도 변경됨..

# 객체 타입 메모리 내 구성

객체가 주소값을 가지고 있기 때문에 const로 객체를 선언해도 그 안의 값들을 바꾸는 것이 가능한 것이다.!
참고
제대로 파는 자바스크립트(JavaScript) - by 얄코 - 인프런 | 강의
코알못도 따라올 수 있는 친절한 강좌! 현업 개발자는 자바스크립트 박사로 들어주는 끝판왕 강좌!, 한 번 수강하면 다른 강의가 필요 없도록제대로 JS에 파고들어 봐요 🛠️ 🎓 대학교 이메
www.inflearn.com
'FrontEnd > JavaScript' 카테고리의 다른 글
| [제대로 파는 자바스크립트] 1 - 2. 연산자 (0) | 2023.08.30 |
|---|---|
| [제대로 파는 자바스크립트] 1 - 1. 기본 명령어와 자료형 (0) | 2023.08.29 |