본문 바로가기

모각독 Study/5기

[1주차] 2/26 ~ 3/3

  모각독 1주차 2/26 ~ 3/3

 

 

1장 데이터 타입


💡 기본형 vs 참조형
  • 기본형 : 할당이나 연산시 복제(값 복제)
  • 참조형 : 참조(주솟값 복제)
  • 비트 : 0 또는 1로만 표현 가능
  • 바이트 : 8비트를 하나로 묶은 것

 

변수와 식별자

  • 변수 : 변할 수 있는 수/무언가 ⇒ 여기서 무언가 : 데이터
             = 변경 가능한 데이터가 담길 수 있는 공간 또는 그릇
  • 식별자 : 변수명(어떤 데이터를 식별하는데 사용하는 이름)

 

 

변수 선언

💡 var a; a = abc;

⇒ 변할 수 있는 데이터를 만들고, 식별자는 a로 한다.

 

 

 

변수영역 메모리 VS 데이터영역 메모리

💡 변수가 만들어지는 과정
  1. var a; 를 한다
  2. 변수 영역에 빈 공간 @1003이 생성됨
  3. @1003의 식별자를 a로 지정 (이름: a, 값: @5004)
  4. 데이터 영역 빈 공간(@5004)에 문자열 ‘abc’ 저장
  5. 변수 영역에서 a식별자 검색(@1003)
  6. 앞서 저장한 문자열 주소 @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