5.1 값

값이란, 식(표현식, expression)이 평가되어 생성된 결과를 말한다.

평가란, 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.

모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다.

5.2 리터럴

리터럴이란, 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)이다.

<aside> <img src="/icons/chat_gray.svg" alt="/icons/chat_gray.svg" width="40px" /> 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다.

</aside>

5.3 표현식

표현식은 값으로 평가될 수 있는 문이다.

표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.

표현식은 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다.

<aside> <img src="/icons/chat_gray.svg" alt="/icons/chat_gray.svg" width="40px" /> 표현식과 표현식이 평가된 값은 동치이다. 따라서 표현식은 값처럼 사용할 수 있다. 이것은 문법적으로 값이 위치할 수 있는 자리에는 표현식도 위치할 수 있다는 것을 의미한다. 표현식은 다른 표현식의 일부가 되어 새로운 값을 만들어 낼 수 있다.

</aside>

5.4 문

문(statement)이란, 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.

문은 명령문이라고도 부른다(컴퓨터에 명령을 내린다고 할 수 있다).

문은 여러 토큰으로 구성된다.

<aside> <img src="/icons/chat_gray.svg" alt="/icons/chat_gray.svg" width="40px" /> 문의 집합으로 이뤄진 것이 바로 프로그램이며, 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.

</aside>

문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.

조건문을 실행하면 지정한 조건에 따라 코드 블록이 결정되어 실행되고, 반복문을 실행하면 특정 코드 블록이 반복 실행된다.

5.5 세미콜론과 세미콜론 자동 삽입 기능

세미콜론(;)은 문의 종료를 나타내며 생략이 가능하다.

0개 이상의 문을 중괄호로 묶은 코드 블록은 문의 종료를 의미하는 자체 종결성을 가지고 있기 때문에, 코드 블록 뒤에는 세미콜론을 붙이지 않는다.