- [5.1] 값
- 값은 식이 평가되어 생성된 결과를 말한다.
- 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다.
- 변수에 할당되는 것은 값이다.
- ex) var sum=10+30
- 변수에는 10+20이 평가되어 생성된 숫자 값 30이 할당된다.
- 메모리 공간에 저장된 것은 할당 이전 평가된 값 30이다.
- ex) var sum=10+30
- [5.2] 리터럴
- 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다.
- ex) 3
- 3은 단순한 아라비아 숫자가 아니라 숫자 리터럴이다.
- 숫자 리터럴을 코드에 기술하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성한다.
- ex) 3
- 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다.
- [5.3] 표현식
- 표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 생성한다.
- 리터럴은 그 자체로 표현식이다.
- 값으로 평가될 수 있는 문은 모두 표현식이다.
- 식별자 참조도 표현식으로 볼 수 있다.
- 변수 식별자를 참조하면 변수 값으로 평가되기 때문이다.
- 식별자 참조도 표현식으로 볼 수 있다.
- 표현식과 표현식이 평가된 값이 동등한 관계를 동치라고 한다.
- ex) 1+2=3
- 표현식은 다른 표현식의 일부가 되어 새로운 값을 만들어 낼 수 있다.
- ex) 식별자 표현식 x, 리터럴 3, 표현식 x+3
- [5.4] 문
- 문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.
- 문의 집합으로 이뤄진 것이 프로그램이다.
- 문은 여러 토큰으로 구성되는데, 토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
- ex) [;] [.] [var] [sum] [=] [1] [+] [2]
- 문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.
- 선언문 ex) var x;
- 할당문 ex) x = 5;
- 함수 선언문 ex) function foo () {}
- 조건문 ex) if (x>1) {console.log(x);}
- 반복문 eX) for ( var i = 0; i < 2; i++) { console.log(i); }
- [5.6] 표현식인 문과 표현식이 아닌 문
- 표현식은 문의 일부일 수도 있고 그 자체로 문이 될 수도 있다.
- 문에는 표현식인 문과 표현식이 아닌 문이 있다.
- 표현식인 문은 값으로 평가될 수 있는 문이다.
- ex) x = 1 + 2;
- 표현식이 아닌 문은 값으로 평가될 수 없는 문이다.
- ex) var x;
- 표현식인 문은 값으로 평가될 수 있는 문이다.
- 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.
- 표현식이 아닌 문은 변수에 할당하면 에러가 발생한다.
- var foo = var x SyntaxError
'[자바스크립트]' 카테고리의 다른 글
[JavaScript/DeepDive]09.타입 변환과 단축 평가 (0) | 2021.05.10 |
---|---|
[JavaScript/DeepDive]08.제어문 (0) | 2021.05.09 |
[JavaScript/DeepDive]07.연산자 (0) | 2021.05.08 |
[JavaScript/DeepDive]06.데이터 타입 (0) | 2021.05.08 |
[JavaScript/DeepDive]04.변수 (0) | 2021.05.05 |