자바스크립트 입문_불변값

자바스크립트 2021. 5. 3. 13:19

(본 포스팅은 위키북스의 '코어자바스크립트' 책을 공부하면서 작성되었습니다_내돈내산)

 

  • 변수(variable)과 상수(constant)를 구분하는 성질은 '변경가능성'에 있음.
  • 불변값과 상수는 엄연히 다른개념. 
  • 변수와 상수를 구분짓는 변경가능성의 대상은 변수영역 메모리에있다. 한번 할당이 이뤄진 변수공간에 다른데이터를 재할당 가능한지에 대해 결정 됨.

기본형 데이터인 number, string, boolean, null, undefined, Symbol은 모두  불변값임.

(예시)

var a = 'abc';
a = a + 'def' ;

var b = 5;
var c = 5;
b = 7;
  • 위의 예시에서 'abc'에 'def'를 추가할 경우 'abc'가 'abcdef'로 바뀌는 것이 아닌 새로운 'abcdef'가 생성됨
  • b에 5를 할당하고 c에 5를 재할당하는경우 컴퓨터는 데이터 영역에서 5를 검색해 그 주소를 c에 할당하는 작업을 거침.
  • 7을 할당하는 경우 데이터 영역에 7이 존재하지 않기때문에 새로운메모리에 7을 저장하는 작업을 거침.
  • 이런 작업에서 우리는 한번 만든값을 바꿀 수 없다는(메모리에 저장된 값을) 개념을 알수 있음. 이렇기 때문에 불변값의 성질을 가지게 된다고 설명할 수 있음.
admin