값 : 식(표현식)이 평가되어 생성된 결과
리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
표현식 : 값으로 평가될 수 있는 문. 값으로 평가될 수 있는 문은 모두 표현식이다.
// 리터럴 표현식
10
'Hello'
// 식별자 표현식 (선언이 이미 존재한다고 가정)
sum // 값을 생성하지는 않지만 값으로 평가되기에 표현식이다.
person.name // 객체의 값을 참조
arr[1] // 배열의 값을 참조
// 연산자 표현식
10 + 20
'hello' + 'world' // 문자열과 문자열 결합
'hello' + world // 문자열과 변수 결합
sum = 10
sum !== 10
// 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()
문 : 프로그램을 구성하는 기본 단위이자 최소 실행 단위
// 변수 선언문
var x;
// 할당문
x = 5;
// 함수 선언문
function foo () {}
// 조건문
if (x > 1) { console.log(x); }
// 반복문
for (var i = 0; i < 2; i++) { console.log(i); }
토큰 : 문법적 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
세미콜론은 문의 종료를 나타낸다.
표현식과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 벙법은 변수에 할당해 보는 것.