값(value) : 표현식(expression)이 평가(evaluate)되어 생성된 결과
평가 : 식을 해석 -> 값을 생성 / 참조하는 것
//변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당됨
var sum = 10 + 20;
여기서 sum 변수에 할당되는 것은 10 + 20이 아니라 10 + 20이 평가되어 생성된 숫자 값 30임!
리터럴(literal) : 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글 등) / 약속된 기호('', "", ., [], {}, // 등)를 사용해 값을 생성하는 표기법
// 숫자 리터럴 3
3
리터럴 | 예시 |
---|---|
정수 리터럴 | 100 |
부동소수점 리터럴 | 10.5 |
2진수 리터럴 | 0b1000001 |
8진수 리터럴 | 0o101 |
16진수 리터럴 | 0x41 |
문자 리터럴 | 'Hello', "World" |
불리언 리터럴 | true, false |
null 리터럴 | null |
undefined 리터럴 | undefined |
객체 리터럴 | { name: 'Lee' } |
배열 리터럴 | [ 1, 2, 3 ] |
함수 리터럴 | function() {} |
정규 표현식 리터럴 | /[A-Z]+/g |
표현식(expression) : 값으로 평가될 수 있는 문
var score = 50 + 50; // 50 + 50이 평가되어 숫자 값 100을 생성하므로 표현식임
변수 식별자를 참조하면 변수 값으로 평가됨
-> 값을 생성하진 X, but 값으로 평가되므로 표현식임
score; // -> 100으로 평가됨
표현식 - 리터럴, 식별자(변수, 함수 등의 이름), 연산자, 함수 호출 등으로 이뤄짐
// 리터럴
10
'Hello'
// 식별자(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
문(statement) : 프로그램을 구성하는 기본 단위, 최소 실행 단위
문의 집합 = 프로그램
문 - #개의 토큰으로 구성됨
토큰(token) : 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
ex) 키워드, 식별자, 연산자, 리터럴, 세미콜론(;), 마침표(.) 등
선언문, 할당문, 조건문, 반복문 등으로 구분됨
세미콜론(;) : 문의 종료 나타냄 -> 문이 끝날 때 붙이는 걸 권장함
구별 방법 : 변수에 할당해보기
// 표현식이 아닌 문 - 값처럼 사용 X
var foo = var x; // SyntaxError : Unexpected token var
// 변수 선언문 - 표현식이 아닌 문임
var x;
// 할당문 - 표현식인 문
x = 100;