🥸 표현식은 값으로 평가될 수 있는 문으로, 표현식이 평가되면 새로운 값을 생성하거나 기존의 값을 참조합니다. 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이루어질 수 있습니다.
10
'Hi'
test
person.name
arr[0]
10 + 20
sum = 10
sum !== 10
test()
person.getName()
🔥 표현식과 표현식이 평가된 값은 동등한 관계로, 표현식은 값처럼 사용할 수 있습니다. 즉, 문법적으로 값이 위치할 수 있는 자리에는 표현식도 위치할 수 있다는 것을 의미합니다.
- 예시
let x = 1 + 2; x + 3; // 6
x
는 할당되어 있는 숫자 3으로 평가되기 때문에 숫자 값이 위치해야 할 자리에 표현식 x를 사용할 수 있습니다.
값은 표현식이 평가되어 생성된 결과를 말하며, 모든 값은 데이터 타입을 가집니다. 메모리에 2진수(즉, 비트)의 나열로 저장되며, 데이터 값에 따라 다르게 해석될 수 있습니다.
let sum = 10 + 20;
위와 같은 식이 있을 때, 식별자가 기억하는 메모리 공간에 저장된 것은 10 + 20이 할당 이전에 평가되어 생성된 값인 30입니다.
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기값을 말하며, 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성합니다.
🔥 리터럴은 값으로 평가되기 때문에 표현식입니다.
🥸 문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이며, 여러 토큰으로 구성됩니다. 문을 명령문이라고도 부르며 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있습니다. 문을 끝낼 때에는 종료를 나타내는 세미콜론을 붙여야 하며, 코드 블록은 자체 종결성을 갖기 때문에 세미콜론을 붙이지 않습니다.
let x;
x = 2;
function test() {}
if (true) { console.log("Hi"); }
for (let i = 0; i < 10; i++) { console.log(i); }
🧐 해당 글은 책
모던 자바스크립트 deep dive
를 참고하여 작성하였습니다.