DeepDiveJS Chapter 05. 표현식과 문

[05장. 표현식과 문]

</br>

✏️ 사용할 말이 쓰기 어렵다면, 쉽게 쓸 수 있도록 사회적인 합의를 거칩시다.


  컴퓨터는 데이터를 0과 1로만 이해할 수 있다. 이러한 0과 1을 통해 문자, 숫자, 기호등을 모두 표현하게 된다.

사람들이 이렇게 데이터를 표현하는 것은 효율적이지 못하기 때문에, 사회적인 합의를 거쳐서 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하게 된다.

이것을 리터럴이라고 부른다.

</br>

✏️ 값과 표현식과 문


  표현식은 값으로 평가될 수 있는 문(문장)이다.

은 프로그램에게 주는 명령이다. 이것은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.

은 식(표현식)이 평가되어 생성된 결과이다.

이 세 가지 정의를 통해서 내용을 정리해보자면, 프로그래머는 을 통해서 명령을 하고, 그 중에 이 될 수 있는 것은 표현식이라고 한다.

‘모든 문은 값이 될 수 있는 것 아닌가?’라는 의문이 들 수 있는데, var x;와 같이 변수를 선언하는 선언문도 이지만, 값으로 평가될 수는 없다. 이런 경우 표현식이 아닌 문이 된다.

그러니, 컴퓨터에게 주는 말 중에 변수에 할당할 수 있는 것은 값이 되는 것이다.

‘사과’라는 말은 변수라는 바구니에 담을 수 있다. 그런데 ‘if (사과의 개수 > 8)’이라는 ‘조건’은 바구니에 담을 수 없을 것이다.

값, 표현식, 문은 조금 헷갈릴 수 있는 것 같은데, 알아볼 수 있는 가장 간단한 방법은 변수에 할당해보는 것이다.

</br>

✏️ 편리함에는 책임이 따른다.


  자바스크립트는 여러가지 편리한 기능을 제공하는데, 그 중 하나는 세미콜론 자동 삽입 기능이다.

세미콜론은 문의 종료를 나타내는 기호인데, 자바스크립트 엔진은 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 기능이 암묵적으로 실행된다.

암묵적이라는 말에서 느낄 수 있듯이, 종종 이 동작은 프로그래머의 예측과 일치하지 않는 경우가 생긴다.

세미콜론을 사용하는가, 사용하지 않는가에 대해서는 종종 논란이 있지만, ECMAScript 기술 위원회에서는 세미콜론 사용을 권장하는 분위기이다.