5장. 표현식과 문

Apeachicetea·2022년 5월 19일
0
post-thumbnail

📌5.1 값

값은 식(표현식)이 평가되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.

[예제 05-01]

// 10 + 20은 평가되어 숫자 값 30을 생성한다.
10 + 20; //30
5.2 리터럴
리터럴은 사람이 이해할 수 있는 문자 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.

[예제 05-03]

3 //숫자 리터럴 3

위 예의 3은 단순한 아라비아 숫자가 아니라 숫자 리터럴이다. 사람이 이해할 수 있는 아라비아 숫자를 사용해 숫자 리터럴 3을 코드에 기술하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성한다.

📌5.3 표현식

표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존의 값을 참조한다. 앞서 살펴본 리터럴은 값으로 평가된다. 따라서 리터럴도 표현식이다.

[예제 05-07]

// 리터럴 표현식
10
'Hello'

// 식별자 표현식(선언이 이미 존재한다고 가정)
sum
divide
arr[1]

// 연산자 표현식
10 + 20
sum = 10
sum !== 10

// 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()

이처럼 표현식은 리터럴, 식별자(변수, 함수 등의 이름), 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다. 위와 같이 다양한 표현식이 있지만 값으로 평가된다는 점에서 모두 동일하다. 즉, 값으로 평가될 수 있는 문은 모두 표현식이다.

📌5.4 문

문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다. 문의 집합으로 이뤄진 것이 바로 프로그램이며, 문을 작성하고 순서에 맞게 나열하는 것이 프로그램밍이다.

[예제 05-09]

// 변수 선언문
var x;

// 할당문
x = 5;

// 함수 선언문
funtion foo() {}

// 조건문
if (x > 1) { console.log(x); }

// 반복문
for (var i = 0; i < 2; i++) { console.log(x); }
5.6 표현식인 문과 표현식이 아닌 문
[예제 05-11]

// 변수 선언문은 값으로 평가될 수 없으므로 표현식이 아니다.
// 변수 선언문은 표현식이 아닌 문이다.
var x 

// 1, 2, 1 + 2, x = 1 + 2는 모두 표현식이다.
// x = 1 + 2는 표현식이면서 완전한 문이기도 하다.
x = 1 + 2

// 할당문은 그 자체가 표현식이지만 완전한 문이기도 하다.  
// 즉, 할당문은 표현식인 문이다.
x = 100

표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명로한 방법은 변수에 할당해 보는 것이다. 표현식인 문은 값으로 평가되므로 변수에 할당할 수 있다. 하지만 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러가 발생한다.

profile
웹 프론트엔드 개발자

1개의 댓글

comment-user-thumbnail
2024년 2월 28일

I've been exploring online casinos for a while now, and discovering Limitless Casino was a game-changer for me here in Australia. The platform offers an impressive variety of games that cater to all preferences, from thrilling slots to strategic table games. What sets it apart for me is the ease of use, allowing me to quickly find and enjoy my favorite games whenever I have some downtime. It's become my go-to for a fun and engaging gaming experience.

답글 달기