개념을 이해한다는 것은 바로 용어를 정확히 이해하고 설명할 수 있다는 것이다.
그러므로 자주 사용할 용어의 의미를 주의 깊게 살펴보자.
값 (Value)
값은 표현식이 평가되어 생성된 결과를 말한다.
모든 값은 데이터 타입을 가지고 메모리에 2진수(bit의 나열)로 저장된다.
메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다.
리터럴 (literal)
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
자바스크립트는 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다.
리터럴의 예시
- 정수 리터럴
- 문자열 리터럴
- 불리언 리터럴
- null 리터럴
- undefined, 객체, 배열, 함수 리터럴 등등
표현식 (expression)
표현식은 값으로 평가될 수 있는 문(statement)이다.
표현식은 평가 후 새로운 값 생성 or 기존 값 참조 과정을 거친다.
리터럴, 식별자, 연산자, 함수 호출 등 값으로 평가될 수 있는 문은 모두 표현식이다.
문 (statement)
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위다.
문은 여러 토큰(token)으로 구성되는데, 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
let sum = 1 + 2;
이 전체가 하나의 문이며 let, sum, = 등 문법적 의미를 가지나 더 이상 나눌 수 없는 것들이 토큰이다.
문이 실행되면 명령이 실행되고 무슨 일인가 일어나게 된다. 이로인해 문을 명령문이라고 부르기도 하며 기능에 따라
- 선언문
- 할당문
- 조건문
- 반복문
등으로 구분된다.
표현식과 문은 비슷해서 구별하기 어렵다고 느낄 수 있다. 이럴 때는 변수에 할당해 보면 알게된다.
할당이 된다면 표현식일것!
세미콜론
세미콜론(;)은 문의 종료를 나타내기에 문을 끝낼 때는 세미콜론을 붙여야 한다.
0개 이상의 문을 중괄호{}로 묶은 코드 블록은 자체 종결성을 갖기에 세미콜론을 붙이지 않는다.
자바스크립트 엔진에는 세미콜론 자동 삽입 기능(ASI)가 있긴 하지만 오류가 발생하지 않도록 알아서 잘 붙이자.
'JavaScript' 카테고리의 다른 글
모던 자바스크립트 Deep Dive / 8장 제어문 (0) | 2024.08.31 |
---|---|
모던 자바스크립트 Deep Dive / 6장 데이터 타입 (2) | 2024.08.30 |
모던 자바스크립트 Deep Dive / 4장 변수 (0) | 2024.08.28 |
[JavaScript] 자료구조 : 해시 테이블 (0) | 2024.05.27 |
[JavaScript] 자료구조 : 배열(Array) (0) | 2024.05.27 |