이곳 챕터에서는 용어에 대한 설명이 많다.
값이란 무엇일까?
값이란 표현식이 평가되어 생성된 결과를 말한다.
예를들어
10 + 20 // 30
이런 코드도 값이다.
리터럴은 사람이 이해할 수 있는 문자나 기호를 사용해 값을 생성하는 표기법이다.
예를들어 3같은 경우도 컴퓨터에서 숫자 리터럴로 판단해서 생성한다. 즉 약속된 표기법을 의미한다.
표현식은 값으로 평가될 수 있는 문이다.
평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
var score = 100;
score; // 100
10
'hello'
위에는 모두 표현식이다.
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.
그리고 문은 여러 토큰으로 구성되는데
var score = 100;
여기서 var, score, =, 100, ; 모두 토큰이다.
다른 언어같은 경우는 세미콜론을 붙히지 않으면 에러가 발생하지만 js에서는 자동으로 js 엔진이 판단해서 세미콜론을 붙혀준다. 이를 ASI이라고 하지만 이와 같은 방법은 알 수 없는 에러를 발생시킬수도 있기 때문에 왠만하면 세미콜론을 작성해주는게 좋다.
하나의 실행단위에서 표현식과 표현식이 아닌 문이 나뉜다.
var x;
위와 같은 선언문은 어떤 값으로 평가되지 않기때문에 표현식이 아닌 문이다.
x = 1 + 2;
반대로 x에 값을 할당하는건 3으로 평가 되기 때문에 표현식인 문이다.
x // 3
그리고 x를 참조하는 경우도 평가되기 때문에 표현식인 문이다.