5.1 값
10+20; // 값 30
- 모든 값은 데이터타입을 가지며 타입에 따라 다르게 해석된다.
ex) 0100 0001 을 숫자로 해석하면 65, 문자로 해석하면 A
- 변수에 할당되는 것은 값
5.2 리터럴
- 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
- 3은 단순한 숫자가 아니라 숫자 리터럴임. js엔진이 해당 리터럴을 보고 메모리에 값을 생성한다.
- 리터럴을 사용하면 다양한 데이터 타입의 값을 생성할 수 있다.
// example
100 // 정수 리터럴
'hello' // 문자열 리터럴
true // 정수 리터럴
{ name: 'Lee', address: 'Seoul'} // 객체 리터럴
function() {} // 함수 리터럴
5.3 표현식
- 표현식은 값으로 평가될 수 있는 문. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
- 리터럴을 값으로 평가됨. 즉 리터럴도 표현식.
- 표현식과 표현식이 평가된 값이 동등한 관계는 동치이다.
1+2 = 3 // 1+2와 3은 동치
- 표현식은 다른 표현식의 일부가 되어 새로운 값을 생성할 수 있음
var x = 1+2;
x+3 = 6;
5.4 문
- 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위
- 문은 여러 토큰으로 구성된다. 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 말한다.
- 문은 명령문, 즉 컴퓨터에 내리는 명령이다. 선언문, 할당문, 조건문, 반복문 등으로 구분된다.
5.5 세미콜론과 세미콜론 자동 삽입 기능
- 세미콜론(;)은 문의 종료를 나타냄.
- 자바스크립트 엔진에는 세미콜론 자동 삽입 기능(ASI)가 암묵적으로 수행된다.
5.6 표현식인 문과 표현식이 아닌 문
- 표현식은 문의 일부일 수도 있고 그 자체로 문이 될 수도 있다.
- 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것
var x;
x = 100;