값은 식이 평가되어 생성된 결과.
변수에 할당되는 것은 값.
var sum = 10 + 20; // 30할당
리터럴이란 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조. 따라서 리터럴도 표현식.
var score = 100; // 100도 리터럴
score; // 표현식이다
var x = 1 + 2;
// 식별자 표현식 x는 3으로 평가된다.
x + 3; // 6
즉, 값으로 평가될 수 있는 문은 모두 표현식
10 + 10
square()
person.getName()
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위.
문은 여러 토큰으로 구성되는데 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미.
var x;
x = 5;
function foo () {}
if (x > 1) { console.log(x) }
자체 종결성을 가지므로 없어도 된다. 암묵적으로 세미콜론 자동삽입 기능이 수행됨
세미콜론은 꼭 안붙여도 된다. 하지만 일관되게하도록하자. 붙였다 떼기 금지. 붙이면 끝까지 다 붙이기!!!!!!!!!!!!
표현식인 문과 표현식이 아닌 문을 구별하는 갖아 간단하고 명료한 방법은 변수에 할당해보는 것.
var foo = var x; // 표현식이 아닌 문은 값처럼 사용불가
var x; // 변수 선언문은 표현식이 아닌 문이다.
x = 100; // 할당문은 그 자체가 표현식이지만 완전한 문. 할당문은 표현식인 문이다.