표현식과 문

개념 설명

평가(Evaluate): 식을 해석해서 값을 생성하거나 참조하는 것을 말한다.
표현식(Expression): 하나의 값으로 평가되는 코드 단위를 말한다.
값(Value): 표현식이 평가되어 생성된 결과를 말한다.
문(Statement): 컴퓨터에게 특정 동작을 실행하도록 지시하는 명령 단위

값의 저장 방식

let a = 10 + 20;

위 코드에서 10 + 20은 표현식이며, 이것이 평가되어 30이라는 값이 된다. 하지만 이 값이 메모리에 저장될 때에는 30이 아니라 2진수 형태로 변환된다.

리터럴

프로그래밍 언어에서 문자와 기호, 숫자 등을 어떤 2진수로 변환할 지 약속한 표기법을 리터럴이라고 한다. 그리고 프로그래밍 언어로 작성되는 모든 숫자, 문자, 기호가 값으로 저장될 때에는 리터럴에 의해 미리 약속된 2진수로 변환된다.

표현식

표현식은 하나의 값으로 평가되는 값이므로 리터럴 또한 일종의 표현식이다.
표현식은 값으로 평가된다. 이때 표현식과 표현식이 평가된 값은 동등한 관계에 해당된다. 따라서 표현식은 값처럼 사용할 수 있으며, 문법적으로 값이 들어가는 자리에는 표현식도 위치할 수 있다.

문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다. 그러므로 문을 작성하고 순서에 맞게 나열하는 것이야 말로 프로그래밍이라고 할 수 있다.

세미콜론

세미콜론(;)은 자바스크립트 엔진이 문의 종료를 파악하기 위해 작성되는 기호다. 그러므로 모든 문의 끝에는 세미콜론이 위치해야 한다.

코드블럭({ ... })의 뒤에는 세미콜론이 붙지 않는데, 이는 자바스크립트 엔진이 {}로 이루어진 요소를 하나의 완결된 단위로 인식하도록 설계되어있기 때문이다. 하지만 함수가 아닌 함수 표현식은 세미콜론이 필요하다. 이는 함수 표현식이 하나의 문으로 취급되기 때문이다.

// 코드 블록 - 세미콜론 불필요
if (condition) {
console.log('hello');
}

// 함수 표현식 - 세미콜론 필요
const func = function() {
console.log('hello');
};

표현식과 문의 차이

위에서 말했듯이 표현식은 값처럼 사용될 수 있다. 하지만 표현식이 아닌 문은 값으로 사용될 수 없다.

profile
개발 공부 내용을 포스팅 중입니다.

0개의 댓글