JavaScript

[JavaScript] 값, 리터럴, 표현식, 문

bomoto 2021. 12. 26. 21:29

값(value)

표현식이 평가되어 생성된 결과

// 10 + 20은 평가되어 값 30을 생성함
10 + 20;  // 30

// 변수sum에 값 30이 할당
var sum = 10 + 20;

 

리터럴(literal)

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

 

표현식(expression)

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

var score = 100;
// 100은 리터럴. 100은 자바스크립트 엔진에 의해 평가되어 값을 생성하므로
// 그 자체로 표현식

var score = 50 + 50;
// 50 + 50은 리터럴과 연산자로 이루어짐. 100이란 값을 생성하므로 표현식

score;
// 변수를 참조하여 100이란 값으로 평가됨. 역시 표현식

 

문(statement)

프로그램을 구성하는 기본 단위이자 최소 실행 단위. 명령문이라고도 함

var x;  // 변수 선언'문'

x = 5;  // 할당'문'

function foo () {}  // 함수 선언'문'

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

 

 

* 표현식은 문의 일부일 수도 있고 그 자체로 문이 될 수도 있다.

var x;  // 변수 선언문 -> 값으로 평가될 수 없으므로 표현식 아님

x = 1 + 2;  // 표현식이자 문

 

표현식인 문과 표현식이 아닌 문은 변수에 할당해보면 쉽게 구분할 수 있다.

var foo = var x;  // 표현식이 아닌 문(변수 선언문)은 변수에 할당할 수 없음

var foo = x = 1 + 2;  // 표현식인 문은 할당 가능