1. 값
- 식(표현식)이 평가되어 생성된 결과
- 변수에 할당되는 것이 "값"
2. 리터럴
- 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)
- 종류
- 정수 리터럴 :
100
- 부동소수점 리터럴 :
10.5
- 2진수 리터럴 :
0b010001
- 8진수 리터럴 :
0o101
- 16진수 리터럴 :
0x41
- 문자열 리터럴 :
'hello'
- 불리언 리터럴 :
true
, false
- null 리터럴 :
null
- 객체 리터럴 :
{ name : 'Lee', address : 'Seoul'}
- 배열 리터럴 :
[ 1, 2, 3]
- 함수 리터럴 :
function() {}
- 정규 표현식 리터럴 :
/[A-Z]+/g
3. 표현식
- 값으로 평가될 수 있는 문(statement)
- 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조함
4. 문
- 프로그램을 구성하는 기본 단위이자 최소 실행 단위
- 문은 여러 토큰으로 구성
- token
- 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
5. 세미콜론과 ASI(Automatic Semicolon Insertion)
6. 표현식인 문과 표현식이 아닌 문
- 두 개의 구분은 변수에 할당해보는 것으로 가능함
// 표현식이 아닌 문은 값처럼 사용할 수 없다.
var foo = var x; // Syntax Error
// 변수 선언문은 표현식이 아닌 문
var x;
// 할당문은 그 자체가 표현식이지만 완전한 문이기도 하다. 즉, 할당문은 표현식
x = 100;