ksw_devlog
TIL 5주 2일차 본문
데이터타입의 종류
기본형 / 참조형
- 복제의 방식
1. 기본형 : 값이 담긴 주소값을 바로 복제
2. 참조형 : 값이 담긴 주소값들로 이루어진 묶음을 가리키는 주소값을 복제
데이터 타입을 이해하기 위해 필요한 배경지식
메모리, 데이터
-비트
-메모리
-바이트
-java, c와 다른 javascript의 메모리 관리 방식(feat. 정수형)
식별자,변수
변수 = 데이터
식별자 = 변수명
변수 선언과 데이터 할당
할당 예시
/** 풀어 쓴 변수 할당 방식 */
var testValue;
testValue = 'test value!';
/** 붙여 쓴 변수 할당 방식 */
var testValue2 = 'second test value!';
값을 바로 변수에 대입하지 않는 이유(=무조건 새로 만드는 이유)
- 자유로운 데이터 변환
- 메모리의 효율적 관리
기본형 데이터와 참조형 데이터
a. 불변값과 불변성(feat. 가비지컬렉팅)
var a = 'abc';
a = a + 'def';
var b = 5;
var c = 5;
b = 7;
b. 가변값과 가변성
i. 참조형 데이터의 변수 할당 과정
var obj1 = {
a: 1, b: 'bbb,
};
ii. 기본형 데이터의 변수 할당 과정과 차이점 : 객체의 변수(프로퍼티) 영역의 별도 존재 여부
iii. 참조형 데이터가 불변하지 않다(가변하다)라고 하는 이유
var obj1 = {
a: 1, b: 'bbb',
};
obj1.a = 2;
iv. 중첩객체의 할당
var obj = {
x: 3, arr: [3, 4, 5],
}
v. obj.arr[1]의 탐색과정
vi. 참조 카운트가 0인 메모리 주소의 처리
1. 참조카운트?
2. 가비지컬렉터(GC, Garbage Collector)
c. 변수 복사의 비교
//기본형 데이터
var a = 10;
var b = a;
//참조형 데이터
var obj1 = { c: 10, d: 'ddd' };
var obj2 = obj1;
'TIL' 카테고리의 다른 글
TIL 5주 4일차 (0) | 2022.12.01 |
---|---|
TIL 5주 3일차 (0) | 2022.11.30 |
TIL 5주 1일차 (0) | 2022.11.29 |
TIL 4주 4일차 (0) | 2022.11.24 |
TIL 4주 3일차 (0) | 2022.11.23 |