2.1) 값
- 값은 표현식이 평가되어 생성된 결과를 말한다.
- 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간을 식별하기 위해 붙인 이름이다.
2.2) 리터럴
- 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다. 예를 들어 사람이 이해할 수 있는 문자 '3'을 코드에 기술하면 js 엔진은 이를 평가하여 숫자 3을 생성한다.
- 리터럴을 사용하면 다양한 종류의 값을 생성할 수 있다.
-> ex) 정수, 2진수, 문자열, boolean, null, 객체, 배열 등..
2.3) 표현식
- 표현식은 값으로 평가될 수 있는 문이다. 새로운 값을 생성하거나 기존 값을 참조한다.
- 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다.
2.4) 문(statement)
- 문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.
- 토큰은 문법적인 의미를 가지며 문법적으로 더 이상 나눌 수 없는 코드의 기본요소를 의미한다. 여러 개의 토큰을 구성하여 하나의 문으로 만들 수 있다.
-> ex) var sum = 1+2;
-> var, sum, =, 1, +, 2 모두 토큰이다.
2.5) 세미콜론과 세미콜론 자동 삽입 기능
- js 엔진은 if문, for문, 함수 등 코드 블럭의 끝이라고 예측되는 지점에 세미콜론을 자동으로 삽입하는 기능(ASI)을 수행한다.
- 간혹 개발자의 의도와 다르게 동작하는 경우가 있으므로 대부분 세미콜론을 명시하는 것을 권장한다.
출처
모던 자바스크립트 Deep dive / 이응모 / 위키북스
댓글