5.1 값
- 표현식이 평가되어 생성된 결과
- 평가: 식을 해석해서 값을 생성하거나 참조하는 것
- 값은 다양한 방법으로 생성할 수 있음
- 가장 기본적인 방법은 리터럴 사용
5.2 리터럴
- 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
- JS 엔진이 런타임에 리터럴을 평가해 값을 생성함
5.3 표현식
- 값으로 평가될 수 있는 문
- 표현식이 평가되면 새로운 값을 생성하거나 기존의 값을 참조함
- 리터럴도 표현식임
- 식별자 참조도 값으로 평가되므로 표현식임
- 표현식과 표현식이 평가된 값은 동치 관계
- 표현식은 값처럼 사용 가능
5.4 문
- 문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위임
- 문의 집합이 프로그램임, 문을 작성하고 순서에 맞게 나열하는 것은 프로그래밍
- 문은 여러 토큰으로 구성됨
- 토큰: 문법적인 의미를 가지고, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
- 문은 컴퓨터에 내리는 명령문임
5.5 세미콜론과 세미콜론 자동 삽입 기능
- 세미콜론은 문의 종료를 나타냄
- 코드 블록 { } 에는 세미콜론 붙이지 않음
- 코드 블록은 언제나 문의 종료를 의미하는 self-closing (자체 종결성) 가짐
- 세미콜론은 옵션임
- JS 엔진이 소스코드 해석 시 세미콜론 자동 삽입 기능이 (Automation Semicolon Insertion) 암묵적으로 수행됨
- ESLint, ECMAScript => 세미콜론 사용 권장
5.6 표현식인 문과 표현식이 아닌 문
- 표현식인 문 vs. 표현식이 아닌 문
- 표현식인 문: 값으로 평가될 수 있는 문, 변수에 할당 가능, 값처럼 사용 가능
- ex) 할당문 (표현식이면서 완전한 문)
- 표현식이 아닌 문: 값으로 평가될 수 없는 문, 변수에 할당시 에러 발생
- ex) 변수 선언문 (var foo = 10; 도 포함)
- 가장 쉬운 구별 방법: 변수에 할당해보기!
- 완료 값: 크롬 개발자 도구에서 표현식이 아닌 문 실행 시 언제나 undefined 값 출력
- 표현식의 평가 결과가 아님
'Books > 모던 JS Deep Dive ✔️' 카테고리의 다른 글
[모던 JS Deep Dive] 7장 - 연산자 (0) | 2021.12.09 |
---|---|
[모던 JS Deep Dive] 6장 - 데이터 타입 (0) | 2021.12.08 |
[모던 JS Deep Dive] 4장 - 변수 (0) | 2021.12.07 |
[모던 JS Deep Dive] 3장 - 자바스크립트 개발 환경과 실행 방법 (0) | 2021.12.07 |
[모던 JS Deep Dive] 2장 - 자바스크립트란? (0) | 2021.12.06 |
댓글