모각독 1주차 2/26 ~ 3/3
1장 데이터 타입
💡 기본형 vs 참조형
- 기본형 : 할당이나 연산시 복제(값 복제)
- 참조형 : 참조(주솟값 복제)
- 비트 : 0 또는 1로만 표현 가능
- 바이트 : 8비트를 하나로 묶은 것
변수와 식별자
- 변수 : 변할 수 있는 수/무언가 ⇒ 여기서 무언가 : 데이터
= 변경 가능한 데이터가 담길 수 있는 공간 또는 그릇 - 식별자 : 변수명(어떤 데이터를 식별하는데 사용하는 이름)
변수 선언
💡 var a; a = abc;
⇒ 변할 수 있는 데이터를 만들고, 식별자는 a로 한다.
변수영역 메모리 VS 데이터영역 메모리
💡 변수가 만들어지는 과정
- var a; 를 한다
- 변수 영역에 빈 공간 @1003이 생성됨
- @1003의 식별자를 a로 지정 (이름: a, 값: @5004)
- 데이터 영역 빈 공간(@5004)에 문자열 ‘abc’ 저장
- 변수 영역에서 a식별자 검색(@1003)
- 앞서 저장한 문자열 주소 @5004를 @1003공간에 대입
⇒ 변수 영역에 값을 직접 대입하지 않고 한 단계를 더 거치는 이유 :
데이터 변환의 자유 + 효율적인 메모리 관리
ex) 문자열 abc뒤에 def를 붙이라고 하면,
기존의 abc는 냅두고 별도의 공간에 abcdef를 새로 만들어서 저장함
불변값 ≠ 상수
💡 변수와 상수를 구분 짓는 성질 = 변경 가능성
- 변수 : 바꿀 수 O
- 상수 : 바꿀 수 X
💡 변수와 상수 구분 시 변경 가능성 대상 : 변수 영역 메모리
불변성 여부 구분 시 변경 가능성 대상 : 데이터 영역 메모리
⇒ 기본형 데이터인 숫자, 문자열, boolean, null, undefined, Symbol은 모두 불변값이다.
- 예시
var a = 'abc';
a = a +'def';
⇒ abc와 abcdef는 별개의 데이터. 각각 다른 공간에 만들어져서 주소가 변수 a에 저장되는 것
var b = 5;
var c = 5;
b = 7;
⇒ 데이터 영역에서 5를 찾고 없으면 빈 공간에 새로 만들어서 그 주소를 b에게 할당
데이터 영역에서 만들어 둔 5가 있기 때문에 그 주소를 c에게 할당
데이터 영역에서 7을 찾고 없으면 빈 공간에 새로 만들어서 그 주소를 b에게 할당
💡 즉, 5를 7로 바꾸는게 아님 ⇒ 한번 만든 값을 변경할 수 X = 불변값의 성질
(변경은 새로 만들어지는 동작을 통해서 이루어짐)
'모각독 Study > 5기' 카테고리의 다른 글
[11주차] 5/6 ~ 5/12 (0) | 2024.05.12 |
---|---|
[9주차] 4/22 ~ 4/28 (0) | 2024.04.22 |
[7주차] 4/8 ~ 4/14 (0) | 2024.04.14 |
[3주차] 3/11 ~ 3/17 (3) | 2024.03.17 |
[2주차] 3/4 ~ 3/10 (0) | 2024.03.10 |