05장 표현식과 문
5.1 값
- 값 : 식(표현식)이 평가되어 생성된 결과.
변수는 하나의 값을 저장한다.
var sum = 10 + 20;
5.2 리터럴
- 리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
- 자바스크립트 엔진은 런타임에 리터럴을 평가해 값을 생성한다
리터럴 종류
value | Type |
---|
100 | 정수 리터럴 |
10.5 | 부동소수점 리터럴 |
0b01000001 | 2진수 리터럴(0b로 시작) |
0o101 | 8진수 리터럴(0o로 시작 / ES6 도입) |
0x41 | 16진수 리터럴(0x로 시작 / ES6 도입) |
'Hello', "World" | 문자열 리터럴 |
true, false | 불리언 리터럴 |
null | null 리터럴 |
undefined | undefined 리터럴 |
{ name : 'Lee', address: 'Seoul' } | 객체 리터럴 |
[1, 2, 3] | 배열 리터럴 |
function fn() {} | 함수 리터럴 |
/[A-Z]+/g | 정규 표현식 리터럴 |
5.3 표현식
- 표현식 : 값으로 평가될 수 있는 문. 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
- 리터럴은 값으로 평가된다. 따라서 리터럴도 표현식이다.
var score = 50 + 50;
console.log(score);
- 값으로 평가 될 수 있는 문은 모두 표현식이다.
10;
'Hello';
sum;
person.name;
arr[1];
10 + 20;
sum = 10;
sum !== 10;
square();
person.getName();
5.4 문
- 문 : 프로그램을 구성하는 기본 단위이자 최소 실행 단위. 여러 토큰으로 구성된다.(=명령문)
- 토큰 : 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미. (ex. 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 ... )
var sum = 1 + 2;
var x;
x = 5;
function foo() {}
if ( x > 1 ) {console.log(x);}
for(var i = 0; i < 2; i++) {console.log(i);}
5.5 세미콜론과 세미콜론 자동 삽입 기능
- 세미콜론(;) : 문의 종료
- 문을 끝낼 때는 세미콜론을 붙여야 하지만, 중괄호로 묶은 코드 블록({...}) 뒤에는 세미콜론을 붙이지 않는다. (ex. if문, for문, 함수 ...)
- 만약, 세미콜론을 붙이지 않으면, 문의 끝이라고 예측되는 지점에 세미콜론 자동 삽입 기능으로 세미콜론을 자동으로 붙여주지만, 예측하지 못한 상황이 벌어질 수 있기 때문에 세미콜론 사용을 권장한다.
5.6 표현식인 문과 표현식이 아닌 문
- 표현식인 문 : 값으로 평가될 수 있는 문
- 표현식이 아닌 문 : 값으로 평가 될 수 없는 문
var x;
x = 100;
- 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.
var foo = var x;