[JS Basic] 표현식과 문

재오·2022년 9월 10일
1

JavaScript

목록 보기
2/48
post-thumbnail

이번 글에서는 표현식과 문에 대해 공부하려 한다. 비록 지금은 자바스크립트에 관해서 설명하는 것이지만 객체지향, 혹은 컴퓨터 언어에 대한 기초적인 개념 공부라고 해도 무방할 정도로 사소하지만 유익하고 중요한 개념이다.

- 값

먼저 값은 표현식이 평가되어 생성된 결과를 말한다. 여기서 표현식이 정확하게 무엇인지를 잘 이해못할 수도 있기 때문에 이후에 더 자세히 알아보도록 하자. 그냥 표현식이 평가되어서 생성된 결과라는 점만 잪고 넘어가자.

- 리터럴

리터럴이란 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 것이다. 이렇게 설명하면 무슨 말인지 이해하기가 어렵지만 조금 쉽게 이야기해보자면 '3'은 숫자 리터럴이고, 'Hello'는 문자열 리터럴이다.

- 표현식

위에서 값을 설명할 때 간단하게 설명만 하고 넘어갔던 표현식이다. 표현식은 값으로 평가될 수 있는 문이다. 아까는 표현식이 뭔지 몰랐는데 이제는 표현식을 설명하려 하니까 문이라는 단어가 모르겠다. 하지만 표현식은 리터럴, 식별자, 연산자, 함수 등의 조합으로 이루어진 모든 것이다. 이후에 깊게 살펴보자.

- 문

문이 나왔다. 문은 프로그램을 구성하는 기본 단위이자 실행 단위이다. 문은 또 여러 토큰으로 이루어지는데, 토큰은 문법적인 의미를 가지며, 문법적으로 더이상 나눌 수 없는 코드의 기본요소를 의미한다.

var sum = 1 + 2;

라는 코드가 있다고 하자. 여기서 토큰은 'var', 'sum', '1', '+', '2'이다. 그리고 전체 코드가 문인 셈이다.

'문'은 컴퓨터에 내리는 '명령'이다

변수 선언문, 할당문, 함수 선언문, 조건문 등이 모두 '문'이다.

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

표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다. 예를 들어 변수 선언문은 표현식이 아닌 문이다. 반면 할당문은 값처럼 사용할 수 있으므로 표현식인 문이다. 여기서 주의해야할 점은 표현식인 문은 값처럼 사용할 수 있다는 것이다.

변수 선언문 = 표현식이 아닌 문
할당문 = 표현식인 문

- 완료 값

크롬 개발자 도구에서는 표현식이 아닌 문을 실행하면 언제나 undefined를 출력한다. 이를 완료값이라 한다.

- 자바스크립트에서 세미콜론(;)

자바스크립트에서 0개이상의 문을 중괄호({})로 묶은 코드블록 뒤에는 세미콜론을 붙이지 않는다. 예를 들어 if문, for문 뒤에는 세미콜론을 붙이지 않는다. 또한 자바스크립트에서는 세미콜론은 생략이 가능하다. 문의 끝이라고 예측이 되는 지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능(ASI)이 암묵적으로 수행되기 때문이다. 하지만 개발자의 의도와 다르게 세미콜론이 붙여지는 경우도 있어 필요할 때 세미콜론을 붙이는 것이 좋다.

profile
블로그 이전했습니다

0개의 댓글