JavaScript

[모던 자바스크립트] 변수 & 표현식과 문

jjin502 2022. 6. 24. 14:33

변수 .. 변하는 수를 말하는 건감 .. ?

그렇다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 그 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다.

 

메모리는 데이터를 저장 할 수 있는 메모리 셀의 집합체이다. 1바이트 단위로 데이터를 저장하거나 읽어들인다.

각 셀은 고유의 메모리 주소를 갖는데, 이는 메모리 공간의 위치를 나타낸다.

 

당신들도 알겠지만, 컴퓨터는 0과 1밖에 모르기때문에 모든 데이터를 2진수로 처리한다. 

연산의 경우, 임의의 위치(메모리 주소)에 기억(저장)되고 CPU는 이 값을 읽어들여 연산을 수행한다.

 

근데 직접 접근해서 읽으면 되지 왜 읽기만 해 .. ?

메모리 주소를 통해 값에 직접 접근하는 것은 오류를 발생시킬 가능성이 높은 매우 위험한 일이기 때문이다. (아주 예민한 아이일세 ... )

또, 코드가 실행될때마다 메모리 주소는 바뀐다. 그렇기 때문에 주소에 직접 접근하는 것도 옳지않다.

 

그러면, 변수는 하나의 값만 저장해 .. ?

아니다. 객체나 배열 같은 자료구조를 사용하면 여러 개의 값을 하나로 그룹화해서 하나의 값 처럼 사용할 수 있다.

이런 식으로 말이다.

var userId = 1;
var userName = "Sim";

var user = { id: 1,name: "Sim" };

var users = [
	{ id: 1,name: "Sim" },
    { id: 2,name: "Lee" };

 

식별자도 변수인건가 ?

음 .. 변수의 이름을 식별자라고도 한다. 식별자의 정확한 의미는

어떤 값을 구별해서 식별할 수 있는 교유한 이름을 말한다. 

더더 정확하게 말하자면, 메모리 주소에 붙인 이름이라고 할 수 있다.

 

식별자는 변수의 이름에서 제한되지 않고 변수, 함수 클래스 등 모두 식별자다.