본문 바로가기
Books/모던 JS Deep Dive ✔️

[모던 JS Deep Dive] 5장 - 표현식과 문

by Aaron-Kim 2021. 12. 7.

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 값 출력

  - 표현식의 평가 결과가 아님

반응형

댓글