Expression (표현식)
- 표현식은 값으로 평가될 수 있는 문(statement)이다.
- 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
- 간단히 말해 특정한 결과값으로 계산되는 것이다.
1 // 정수 리터럴 표현식
'Hello' // 문자열 리터럴 표현식
1+1 // 연산자 표현식
a(); // 함수 호출 표현식
표현식이 평가되어 생성된 결과를 말한다. 변수는 하나의 값을 저장하기 위해(값이 할당된 메모리를 식별하기 위해) 붙인 이름이다. 변수에 할당되는 것은 값이다.
const a = 1+1 // 평가되어 숫자 값 2를 생성한다. 그리고 평가된 숫자값 2는 변수에 할당이 된다.
사람이 이해할 수 있는 문자, 숫자 또는 여러 기호로 값을 생성하는 표기법이다.
1 // 정수 리터럴
1.5 // 부동소수점 리터럴
'Hello world!' // 문자열 리터럴
true // 불리언 리터럴
null // null 리터럴
undefined // undefined 리터럴
{
name: 'sejin',
age: 20,
} // 객체 리터럴
// 이렇게 사람들이 이해하기 쉽게 된 모든 표현을 리터럴이라 생각하면 된다.
// 이 외에도 함수 리터럴, 정규표현식 리터럴, 배열 리터럴 등이 있다.
자바스크립트 엔진에서 표현식을 평가하여 값을 생성하거나 참조하고, 사람이 이해하기 쉬운 리터럴 표현식도 자바스크립트 엔진에서 평가되어 값을 생성할텐데 이런 표현식이 없으면 사람이 편하게 값을 생성하고 참조하기가 어렵지 않을까 ..?
Statement (문)
- 프로그램을 구성하는 기본 단위이자 최소 실행 단위다.
- 문은 명령문이다. 컴퓨터에게 명령을 내린다.
- 문은 여러 문법적 의미를 가진 토큰으로 구성되어 있다.
var a; // 변수 선언문
b = 2; // 할당문
function c() {} // 함수 선언문
if (b > 1) { console.log(g); } // 조건문
for (let i = 0 ; i < 2; i++) { console.log(i); } // 반복문
문법적인 의미를 가지며, 문법적으로 나눌 수 없는 코드의 기본 요소를 말한다.
var plus = 1 + 1;
// var // plus // = // 1 // + // 1 // ; //
// 위 변수 선언문에서 문법적으로 나뉘어 쪼개지는 것을 토큰이라 한다.
문은 명령문이니 컴퓨터에게 명령을 하기위해 필요할 것이다.