값은 식이 평가되어 생성된 결과이다.
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
표현식은 값으로 평가될 수 있는 문이다. 즉 표현식이 평가되면 새로운 값을 생성하거나 기존 ㄴ값을 참조한다.
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위다.
문은 여러 토큰으로 구성된다. 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
세미콜론은 문의 종료를 나타낸다.
그러나 코드 블록 뒤에는 붙이지 않는다. 코드 블록은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문.
자스 엔진이 소스코드를 해석할 때 문의 끝이라고 예측 되는 지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능이 암묵적으로 수행되기 때문에, 세미콜론은 생략 가능하다.
근데 이게 완벽하진 않으니까 앵간하면 붙여라.
이걸 구분하는 방법은 변수에 할당해보는 것.
var x; 이건 표현식이 아닌거다.
x=100; 이건 표현식이다.