📌 목차
- 값
- 리터럴
- 표현식
- 문
💡 값(value)
표현식(expression)이 평가(evaluate)되어 생성된 결과를 의미한다.
var sum = 10 + 20;
위 예제는 10 + 20이 평가되어 30이라는 값이 sum이라는 변수에 할당된 것이다.
앞 챕터(4장)에서 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 혹은 메모리 공간을 식별하기 위해 붙인 이름이라고 설명했다.
따라서 변수에 할당되는 것을 값이라고 한다.
* 평가(evaluate) : 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.
* 표현식(expression) : 값으로 평가될 수 있는 문(statement)이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
💡 리터럴(literal)
사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하여 값을 생성하는 표기법을 의미한다.
1
위에서의 1은 아라비아 숫자가 아니라 숫자 리터럴이다.
사람이 이해할 수 있는 아라비아 숫자를 사용해 숫자 리터럴 3을 사용하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성한다.
이처럼 리터럴은 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳 등) 또는 미리 약속된 기호('', "", [], {}, 등)로 표기한 코드이다.
자바스크립트 엔진은 코드가 실행되는 런타임 시점에 리터럴을 평가해 값을 생성한다.
💡 표현식(expression)
값으로 평가될 수 있는 문(statement)이다. 즉 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
var value = 100;
위 예제의 100은 숫자 리터럴이다.
리터럴 100은 자바스크립트 엔진에 의해 평가되어 생성한 값이다.
리터럴은 그자체로 표현식이다.
var value = 50 + 50;
위 예제는 50이라는 리터럴과 + 연산자로 이루어져있다.
50 + 50은 표현식이다.
표현식은 리터럴, 식별자(변수, 함수 이름 등), 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다.
값으로 평가될 수 있는 문은 모두 표현식이다.
💡 문(statement)
프로그램을 구성하는 기본 단위이자 최소 실행단위이다.
문은 여러 토큰들의 집합이다.
선언문, 할당문, 조건문, 반복문 등으로 구분이 가능하다.
var value; // 표현식 X
var = 10 + 20; // 표현식이자 완전한 문
표현식의 정의는 값으로 평가될 수 있는 것을 의미한다.
10 + 20이라는 표현식을 통해서 30이라는 값으로 평가 되었고 해당 값을 식별자 value에 할당한다.
표현식인 문은 값으로 평가될 수 있는 문이고, 표현식이 아닌 문은 값으로 평가될 수 없는 문이다.
이 둘을 구별하는 가장 쉬운 방법은 변수에 할당해보는 것이다.
var a; // 변수 선언문 (표현식이 아닌 문)
var b = var a; // 할당 불가능
a = 10; // 할당문 (표현식인 문)
var b = a = 10; // 할당 가능
- 표현식인 문은 값으로 평가되므로 변수에 할당 가능하다.
- 표현식이 아닌 문은 값으로 평가되지 않아서 변수에 할당하면 오류가 난다.
* 토큰 : 문법적으로 더 이상 나눌 수 없는 코드의 기본요소를 의미함
//토큰 예제
var value 10 + 20; // (var, value, 10, +, 20, ;) 전부 토큰
'Study > JavaScript' 카테고리의 다른 글
모던 자바스크립트 Deep Dive - 7장 연산자 (0) | 2023.06.09 |
---|---|
모던 자바스크립트 Deep Dive - 6장 데이터 타입 (0) | 2023.05.30 |
모던 자바스크립트 Deep Dive - 4장 변수 (0) | 2023.05.11 |
[JavaScript]디바운싱과 쓰로틀링이란? (0) | 2022.06.22 |
[Javascript] 프로미스(Promise)란? (0) | 2022.05.01 |