1.1 변수란 무엇인가
- 변수는 값을 저장할 메모리 공간을 할당하고 이를 식별하기 위해 붙인 이름이다.
- 저장된 값을 읽어들여 재사용하기 위해 변수라는 식별자를 사용한다.
- 10 + 20은 연산을 통해 30이라는 값을 생성한다. 30은 메모리 공간에 저장되고, 해당 메모리 공간으로부터 값을 다시 읽어들여 재사용할 수 있도록 메모리 공간에 상징적인 이름을 붙인 것이 변수이다.
=> 변수명 : result
=> 변수값 : 30
=> 변수에 값을 저장하는 것 : 할당
=> 변수에 저장된 값을 읽어들이는 것 : 참조
1.2 식별자
- 식별자는 값을 구별할 수 있는 고유한 이름을 의미한다.
- 식별자는 메모리 주소를 기억하고 있고 이를 통해 해당 메모리 공간에 저장된 값에 접근한다.
- 선언을 통해 식별자의 존재를 알린다.
1.3 변수 선언
- 값을 저장할 메모리 공간을 확보하고 변수명과 메모리 공간의 주소를 연결하여 값을 저장할 수 있도록 한다.
- 변수를 선언할 때는 var, let, const 키워드를 사용한다.
- 변수 선언은 2단계를 거쳐 수행된다.
=> 선언 단계 : 변수명을 등록하여 js 엔진에 변수의 존재를 알린다.
=> 초기화 단계 : 메모리 공간을 확보하고 값을 할당한다. 값이 할당되지 않으면 암묵적으로 undefined를 할당한다.
1.4 변수 선언의 실행 시점과 변수 호이스팅
- 변수 호이스팅은 변수 선언문이 먼저 수행된 것처럼 동작하는 js의 기능이다.
- js 엔진은 소스코드 실행에 앞서, 소스코드 내 모든 선언문을 먼저 실행하는 소스코드 평가 과정을 거친다. 평가 과정이 종료된 이후 소스코드를 순차적으로 실행한다.
1.5 값의 할당
- 변수에 값을 할당할 때에는 할당 연산자 '='를 사용한다. 우변의 값을 좌변의 변수에 할당한다.
1.6 값의 재할당
- 값이 할당되어 있는 변수에 새로운 값을 다시 할당하는 것을 재할당이라고 한다.
- 값을 재할당할 수 없는 경우 변수가 아니라 상수라고 한다.
1.7 식별자 네이밍 규칙
- 식별자는 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말한다.
- 식별자의 네이밍 규칙
=> 특수문자를 제외한 문자, 숫자, 언더스코어, 달러 기호를 포함할 수 있다.
=> 식별자의 이름은 숫자로 시작할 수 없다.
=> 예약어(break, case, class...)는 식별자로 사용할 수 없다.
출처
모던 자바스크립트 Deep dive / 이응모 / 위키북스
댓글