▣ 04장: 변수
4.1 변수란 무엇인가? 왜 필요한가?
변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름,
값의 위치를 가리키는 상징적인 이름
할당(대입, 저장) : 변수에 값을 저장하는 것
참조 : 변수에 저장된 값을 읽어 들이는 것
4.2 식별자
식별자(변수 이름) : 어떤 값을 구별해서 식별할 수 있는 고유한 이름, 식별자는 값이 아니라 메모리 주소를 기억함
4.3 변수 선언
선언 단계 : var, let, const 키워드 사용.
(var 단점 : 블록 레벨 스코프 지원X, 함수 레벨 스코프를 지원함, 의도치 않게 전역 변수가 선언됨)
변수 이름을 비롯한 모든 식별자는 실행 컨텍스트에 등록됨.
선언하지 않은 식별자에 접근하면 ReferenceError.
초기화 단계 : 변수가 선언된 이후 최초로 값을 할당. var 키워드로 선언한 변수는 undefined로 암묵적 자동 초기화
4.4 변수 선언의 실행 시점과 변수 호이스팅
호이스팅 : 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작.
모든 선언문은 런타임(소스코드가 한 줄씩 순차적으로 실행되는 시점)
이전 단계(소스코드 평가 과정)에서 먼저 실행됨.
console.log(score); //참조 에러 발생하지 않음, undefined출력
var score; //변수 선언문
4.5 값의 할당
값의 할당 : 소스코드가 순차적으로 실행되는 시점인 런타임에 실행됨.
4.6 값의 재할당
재할당 : 변수에 새로운 값을 또다시 할당
상수 : 값을 재할당 불가능, const키워드로 표현가능
(const키워드를 반드시 상수만을 위해 사용하지는 않음. 객체의 property변경 등)
4.7 식별자 네이밍 규칙
특수문자, 숫자로 시작, 예약어 -> 불가능
▣ 05장: 표현식과 문
5.1 값
값 : 식(표현식)이 평가(식을 해석해서 값을 생성하거나 참조)되어 생성된 결과
5.2 리터럴
리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
5.3 표현식
표현식 : 값으로 평가될 수 있는 문
5.4 문
문 : 프로그램을 구성하는 기본 단위이자 최소 실행 단위, 여러 토큰으로 구성됨.
-> 선언문, 할당문, 조건문, 반복문
토큰 : 문법적인 의미를 가지며 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미
5.5 세미콜론과 세미콜론 자동 삽입 기능
ASI : 세미콜론 자동 삽입 기능 -> 문 끝에 붙이는 세미콜론은 생략 가능
5.6 표현식인 문과 표현식이 아닌 문
표현식이 아닌 문은 값처럼 사용할 수 없다(변수에 할당 할 수 없다).
'Book > JavaScript' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive] #23,13. 실행컨텍스트★, 스코프 (2) | 2022.03.08 |
---|---|
[모던 자바스크립트 Deep Dive] #12. 함수★ (0) | 2022.03.06 |
[모던 자바스크립트 Deep Dive] #10~11. 객체 리터럴, 원시값과 객체의 비교 (4) | 2022.03.04 |
[모던 자바스크립트 Deep Dive] #8~9. 제어문, 타입변환과 단축평가 (0) | 2022.03.03 |
[모던 자바스크립트 Deep Dive] #6~7. 데이터 타입, 연산 (0) | 2022.03.01 |
댓글