[JavaScript] 5. 표현식과 문

do_large·2021년 1월 14일

Deep Dive

목록 보기
2/13
post-thumbnail

값

값은 표현식이 평가되어 생성된 결과이다.
평가란 식을 해석해서 값을 생성하거나 참조하는것!

리터럴

사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다.

// 정수 리터럴
100

// 문자열 리터럴
"hello"

//불리언 리터럴
true

//배열 리터럴
[1, 2, 3]

자바스크립트 엔진은 런타임때 리터럴을 평가해 값을 생성한다!

표현식

값으로 평가될수 있는 statement이다.
표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.

var score = 100;

score에 할당된 값은 리터럴이다.
리터럴 100은 자바스크립트 엔진에 의해 평가되어 값을 생성하므로 리터럴은 그 자체로 표현식이다.

score; // 100

변수 식별자를 참조하면 변수값으로 평가된다.
이는 값으로 평가되므로 표현식이다.

문

문(statement)과 표현식(expression)의 차이

문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.
문의 집합으로 이뤄진 것이 프로그램이다!

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

토큰이란?
문법적인 의미를 가지며, 문법적으로 더이상 나눌 수 없는 코드의 기본요소를 의미한다.
키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 등의 특수기호는 모두 토큰이다.

문은 명령문이라고도 부르는데 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.


표현식인 문과 표현식이 아닌 문으로 구분할 수 있는데,
이 두가지를 구별하는 방법은 변수에 할당해 보는 것이다.

var x;

x = 100;

//---------------
var foo = var x; // ①

var foo = x = 100; // ②

① 은 foo라는 변수에 var x 를 할당하면 SyntaxError가 발생한다.
변수 선언문은 표현식이 아닌 문이기 때문에 값처럼 사용할 수 없다.

②는 할당문 x = 100은 표현식이기때문에 값처럼 사용할 수 있다.
그래서 foo 변수에는 100이 할당된다.

0개의 댓글