: program을 구성하는 기본단위이자 최소 실행 단위.
➡️ 즉, 문들을 순서대로 구성해서 programming을 하는 것.
문은 token으로 구성된다.
(✳️ token이란 문법적 의미를 가지며 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소.
ex> 키워드, 식별자, 연산자, 리터럴, 세미콜론(;), 마침표(.))
<문의 종류>
1️⃣ : 선언문 (ex> var x;)
2️⃣ : 할당문 (ex> x=5;)
3️⃣ : 조건문 (ex> if)
4️⃣ : 반복문 (ex> for, while)
: 값(value)으로 평가될 수 있는 문.
(expression(표현식)이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.)
표현식이 아닌 문 vs 표현식인 문.
: 다소 헷갈릴 수 있지만 확실하게 알려면 변수에 할당해 보면 된다.
1️⃣ : 변수 선언문 (ex> var x;)
➡️ 위의 변수 선언문을 변수에 할당해보자.
var foo = var x; ➡️ SyntaxError: Unexpected token var
: 에러가 난다. 변수 선언문은 값으로 평가되지 않는 문이기 때문. 즉 표현식이 아닌 문이다.
2️⃣ : 할당문 (ex> x=5;)
➡️ 위의 할당문을 변수에 할당해보자.
var foo = x = 5;
console.log(foo);
변수 foo에 5가 할당된다. 할당문은 값으로 평가되는 문이다. 즉 표현식인 문이다.
출처 : 모던 자바스크립트 Deep Dive