값은 식이 평가되어 생성된 결과이다.
10 + 20 // 30
리터럴은 사람이 이해할 수 있는 문자 나 기호를 사용해 값을 생성하는 표기법이다.
표현식은 값으로 평가될 수 있는 문이다. 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
리터럴 또한 값으로 평가되기 때문에 표현식이다.
값으로 평가될 수 있는 문은 모두 표현식이다.
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.
문은 토큰으로 구성된다.
토큰이란 문법적 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
문에는 아래와 같이 구분할 수 있다.
var x
x = 4
foo = ()=>{}
세미콜론은 문의 종료를 나타낸다.
즉 문을 끝낼 때는 세미콜론을 붙여야 한다.
중괄호 뒤에는 문의 종료를 의미하는 자체 종결성을 갖기 때문에 붙이지 않는다.
세미콜론은 자동 삽입 기능이 암묵적으로 수행되기 때문에 생략 가능하다.
변수에 할당해보면, 표현식 유무를 확인할 수 있다.
표현식인 문은 값으로 평가되기 때문에 변수에 할당이 가능하다.
var x
= > var a = var x
라고 사용이 불가하기 때문에, 표현식이 아닌 문이다. 개발자 도구에서
var x = 10
을 실행하면 undefined를 출력한다.
이걸 완료 값이라고 부른다. 따라서 다른 값과 같이 변수에 할당할 수 없고 참조할 수도 없다.