프로그램을 구성하는 기본 단위이자 최소 실행 단위
컴퓨터에 내리는 명령
프로그램: 문의 집합으로 이루어진 것
프로그래밍: 문을 작성하고 순서에 맞게 나열하는 것
문은 선언문, 할당문, 조건문, 반복문 등으로 구분되며, 각 문에 따라 특성 동작이 실행된다.
문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
키워드, 식별자, 연산자, 리터럴, 세미콜론(;), 마침표(.) 등의 특수 기호 등은 문법적 의미를 가진 모든 요소들
문은 여러 개의 토큰으로 구성된다.
JavaScript에서 문의 종료를 나타내는 기호로, JavaScript 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행
예외: 0개 이상의 문을 중괄호로 묶은 코드 블록(if문
, for문
, 함수
등) 뒤에는 세미콜론을 붙이지 않는다.
JavaScript 엔진이 소스코드를 해석할 때, 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 기능
따라서 문의 끝에 세미콜론을 생략 가능하다.
하지만 개발자의 의도와 다르게 작동할 수 있으므로, 직접 코드에 세미콜론을 넣는 것을 추천
표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단한 방법은 변수에 할당해 보는 것
표현식인 문은 값으로 평가 되므로 변수에 할당 가능
표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당 시 에러가 발생
// 변수선언문: 표현식이 아닌 문
var x;
// 할당문: 표현식인 문
x = 100;
//표현식이 아닌 문은 값처럼 사용할 수 없다.
var foo = var x; // SyntaxError: Unexpected token var
완료 값
undefined
를 출력 ⇒ 이를 완료 값이라고 함