1. 값
식(표현식)이 평가되어 생성된 결과
// 변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당
var sum = 10 + 20;
2. 리터럴
사람이 이해할 수 있는 문자나 약속된 기호를 사용해 값을 생성하는 표기법
리터럴 3을 코드에 기술하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성
//숫자 리터럴
3
리터럴 | 예시 | 비고 |
정수 리터럴 | 100 | |
부동소수점 리터럴 | 10.5 | |
2진수 리터럴 | 0b01000001 | 0b로 시작 |
8진수 리터럴 | 0o101 | ES6에서 도입. 0o로 시작 |
16진수 리터럴 | 0x41 | ES6에서 도입. 0x로 시작 |
문자열 리터럴 | 'Hello' "Hello" |
|
불리언 리터럴 | true false |
|
null 리터럴 | null | |
undefined 리터럴 | undefined | |
객체 리터럴 | { name: 'Lee', address: 'Seoul' } | |
배열 리터럴 | [ 1, 2, 3 ] | |
함수 리터럴 | function() {} | |
정규 표현식 리터럴 | /[A-Z]+/g |
3. 표현식
값으로 평가될 수 있는 문이다.
→표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
//리터럴 표현식
10
'Hello'
//식별자 표현식(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
//연산자 표현식
10 + 20
sum = 10
sum !== 10
//함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()
4. 문
프로그램을 구성하는 기본 단위이자 최소 실행 단위
문은 여러 토큰으로 구성되어 있다.
토큰이란?
문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
예를 들어, 키워드, 식별자, 연산자, 리터럴, 세미콜론이나 마침표 등 특수기호는 문법적인 의미를 가지며,
문법적으러 더이상 나눌 수 없는 코드의 기본요소이므로 모두 토큰이다.
5. 세미콜론
문의 종료
자바스크립트에서 문의 종료를 의미하는 세미콜론은 붙여도 되고 안 붙여도 된다.
하지만 세미콜론 사용을 권장하는 분위기이므로 사용하는 것이 바람직하다.
6. 표현식인 문과 표현식이 아닌 문
크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 언제나 undefined를 출력한다. 이를 완료 값이라 한다. 개발자 도구에서 표현식이 아닌 문을 실행하면 완료 값 undefined를 출력한다. 표현식인 문은 평가된 값을 반환한다.
→자바스크립트에서 함수는 값을 return 하지 않아도 자동적으로 undefined를 return한다. 고로 어떤 상황에도 값을 리턴하기 때문에 함수 자체도 표현식이 된다.
'STUDY > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive] 09장 타입 변환과 단축 평가 (0) | 2022.03.11 |
---|---|
[모던 자바스크립트 Deep Dive] 08장 제어문 (0) | 2022.03.11 |
[모던 자바스크립트 Deep Dive] 07장 연산자 (0) | 2022.03.10 |
[모던 자바스크립트 Deep Dive] 06장 데이터 타입 (0) | 2022.03.09 |
[모던 자바스크립트 Deep Dive] 04장 변수 (0) | 2022.03.07 |