[ES] Variables

LateMarch·2023년 1월 2일
0

JavaScript Variables

자바스크립트 변수(JavaScript Variable)는 값(value)을 담고(hold) 있는 명명된 저장 공간을 말한다. 여기서 값은 자바스크립트가 제공하는 원시 타입(primitive type)의 값 뿐만 아니라 주소도 포함되므로 객체(object)의 주소를 담은 명명된 저장공간 또한 변수에 속한다.(객체를 변수처럼 사용 할 수 있다.)
메모리 측면에서, 변수는 value typereference type으로 나뉘는데 value type은 고정된 메머리를 점유(occupy)하는 특징이 있다. 예로 Boolean value는 오직 1bit 만을 차지한다. 그리고 모든 numbers는 JavaScript내에서 64-bit 부동소수점을 갖는 실수로, 8bytes를 차지하게 된다.
대조적으로 reference type은 길이가 고정되지 않은 값에 대한 참조를 담는다. reference type으로는 objects, arrays, functions가 있다.

Immutable

원시자료형이 참조형과 다르게 갖는 속성은 변경불가능(immutable)함 이다. 이는 원시자료형의 값이 바뀌지 않는 성질을 말하는데 이는 변수의 속성이 아님을 기억해 둘 필요가 있다.

let person = 'Ernold'
console.log(person[0]) // output: 'E'
person[0] = 'A' 
console.log(person) // output: Ernold

person = 'Arnold'
console.log(person) // output: Arnold

위의 예에서 변수 person은 원시형의 string 자료형을 담고 있다. 두번째 줄에서 person의 할당된 string의 첫번째 글자에 성공적으로 접근하는것을 볼 수 있다. 하지만 세번째 줄에서 string의 값을 변경하지는 못한다. 원시자료형의 value는 접근 가능하지만 변경이 불가능한 것이다. 다만 코드의 마지막 단계에서 변수 person에 새로운 string을 '넣는것'에 불과하다.

profile
latemarch

0개의 댓글