05장 표현식과 문

soonmac·2021년 12월 31일
0
post-thumbnail

5.1 값

🍧(value): 표현식이 평가되어 생성된 결과를 말합니다.

Q. 평가가 뭔가요?
A. 식을 해석해서 값을 생성하거나 참조(읽기)하는 것을 의미합니다.

예제

var sum = 10 + 20

변수에는 10 + 20이 평가되어 생성된 숫자 30이 할당됩니다.

5.2 리터럴

🍧리터럴(literal): 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳 등) 또는 미리 약속된 기호('',{},// 등)로 표기한 코드입니다.

값을 표기하는 가장 기본적인 방법입니다.
리터럴 값을 코드로 쓰면 자바스크립트 엔진은 이를 평가해 값을 생성합니다.

5.3 표현식

🍧표현식(expression)은 값으로 평가될 수 있는 (statement)입니다.
값으로 평가될 수 있는 문은 모두 표현식입니다.

종류

리터럴 표현식

var score = 100;

리터럴 100은 엔진에 의해 평가되어 값을 생성하므로 그 자체로 표현식입니다.

연산자 표현식

10 + 20
sum = 10
sum !== 10

식별자 표현식

//선언이 이미 존재한다고 가정
sum
person.name
arr[1]

함수/메서드 호출 표현식

//선언이 이미 존재한다고 가정
square()
person.getName()

❗ 표현식과 표현식의 평가된 값은 동등한 관계입니다. 즉, 표현식은 값처럼 사용할 수 있습니다.

5.4 문(statement)

🍧(statement): 프로그램을 구성하는 기본 단위이자 최소 실행 단위입니다. (=명령문)
문의 집합으로 이루어진 것이 바로 프로그램입니다.

문의 구성

문은 여러 토큰으로 구성됩니다.

❗ 여기서 토큰(token)이란? : 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미합니다.

문의 종류

  • 선언문
  • 할당문
  • 조건문
  • 반복문
    등등 . . .

5.6 표현식인 문과 표현식이 아닌 문

이 둘을 구별하는 가장 쉬운 방법은 변수에 할당해 보는 것입니다.

var foo = var x; //SyntaxError: Unexpected token var

변수 선언문은 값으로 표현될 수 없으므로 표현식이 아닙니다.

x = 100;

할당문은 값으로 표현되므로 표현식입니다.

var foo = x = 100;
console.log(foo); //100

표현식인 문은 값처럼 사용할 수 있습니다.

🐤크롬 개발자 도구로 구분하기! (완료값)


크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 undefined를 출력합니다. 이를 완료값이라고 합니다.

표현식인 문을 실행하면 평가된 값을 반환합니다.

profile
공부중

0개의 댓글