JavaScript DeepDive 기준 변수에 대해 설명하겠다.
변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름
그렇다면 변수가 필요한 이유는 무엇일까 ?
주머니처럼 변수도 여러 데이터를 대입 할수 있으며 하나의 데이터 뿐만 아니라 여러 데이터를 대입 또는 재할당이 가능하다.
위 내용이 어느정도 이해가 되었다면 아래 예제 내용을 보자
25 + 10
위의 연산 결과는 결국 우리가 아는 25 + 10 의 결과로 인해 답은 35다.
하지만 이 연산은 사람으로 따지면 두뇌 즉 암산을 통해 우리는 그 결과값을 알수가 있다.
이 또한 JavaScript도 유사하게 위 연산 코드를 실행한다
자바스크립트 엔진이 연산을 수행하기 위해 먼저 피연산자를 기억한다.
(여기서의 피연산자는 25 와 10을 말한다)
그리고 위 연산작업이 컴퓨터를 통해 이루어지는데 우리가 알고 있는 컴퓨터 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다.
이로인해 성공적으로 자바스크립트 엔진이 연산을 실행 하였으나, 다만 이 30이라는 값을 우리는 어디에서 사용할수가 없다.
한번만 사용할 경우 상관은 없으나 이 결과의 값을 재사용 할수 없는 형태로 계산을 하였다.
그래서 이 값을 메모리에 저장하고 그 값을 읽어들여 재사용하기 위해 프로그래밍 언어는 변수를 제공 한다.
그렇다면 변수를 선언하여 위 연산의 값인 35를 대입 해보자
var result = 25 + 10;
이러면 result라는 식별자에 25 + 10 연산작업을 통해 35라는 값이 대입이 되며
이로써 우리는 result 변수를 사용할 경우 연산작업을 통해 이루어진 35의 값을 사용하는거와 동일하다고 볼수 있다.
식별자라는 단어가 생소할것이다 식별자는 무엇인가 ?
어떤 값을 구분해서 식별할수 있는 고유한 이름을 말한다.
이름을 붙힐때 사용하는 단어라고 볼수 있다.
이부분에 좀 더 쉽게 설명을 하자면 사람의 이름으로 구별해서 식별하는것도 식별자라고 할수 있다.
식별자는 변수뿐만 아닌, 함수, 클래스에도 사용할수 있다.
변수를 사용하기 위해 우리는 그 변수를 선언해야 사용할수 있다.
위 3가지 키워드를 통해 우리는 식별자를 정하고 변수를 선언할수 있다.
다만 현재의 변수선언 키워드가 3가지인데
const, let 키워드는 ES6 이후로 도입된 선언 키워드다.
이부분은 나중에 다뤄볼 내용이니 우선 var 기준으로 진행할 예정이다.
이쯤 되면 변수가 무엇인가, 그리고 변수가 왜 필요한지에 대해 충분히 이해했으리라 생각한다.