동그란 도그린
[모던 자바스크립트 Deep Dive🦎] 5장 : 표현식과 문 본문
📍 값
- 식(표현식)이 평가되어 생성된 결과
1 + 2; // 1 + 2는 평가되어 숫자 값 3을 생성
🔅 평가 : 식을 해석해서 값을 생성하거나 참조하는 것
📍 리터럴
- 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법 (ex: 정수, 문자열, 불리언 등)
- 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성함
📍 표현식
- 값으로 평가될 수 있는 문은 모두 표현식
// 리터럴 표현식
1
'Hello'
// 식별자 표현식 (이미 선언했다고 가정)
sum
person.name
// 연산자 표현식
1 + 2
// 함수/메서드 호출 표현식 (이미 선언했다고 가정)
square()
📍 문
- 프로그램을 구성하는 기본 단위이자 최소 실행 단위
- 문을 명령문이라고도 부름
- 문은 여러 토큰으로 구성됨
🔅 토큰 : 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
📍 세미콜론
- 세미콜론(;)은 문의 종료를 나타냄
- 0개 이상의 문을 중괄호로 묶은 코드 블록({ … }) 뒤에는 세미콜론을 붙이지 않음 (ex : if 문, for 문) ⇒ 이러한 코드 블록은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문
- 문의 끝에 붙이는 세미콜론은 생략 가능 ⇒ 자바스크립트 엔진이 문의 끝이라고 예측하는 지점에 세미콜론을 자동으로 붙여주는 ‘세미콜론 자동 삽입 기능(ASI)이 암묵적으로 수행되기 때문
📍 표현식인 문과 표현식이 아닌 문
- 표현식인 문은 값으로 평가될 수 있는 문
- 표현식이 아닌 문은 값으로 평가될 수 없는 문
- 위의 두 가지를 구별하는 방법은 변수에 할당해보는 것 ⇒ 표현식인 문은 값으로 평가되므로 변수에 할당 가능
// 변수 선언문은 표현식이 아닌 문
var x;
// 할당 문은 표현식인 문
x = 10;
// 표현식인 문은 값처럼 사용 가능
var foo = 20;
console.log(foo); // => 20
🔅 크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 언제나 undefined를 출력함 ⇒ 완료 값
// 변수 선언 문
var foo = 10; // => undefined
🔅 크롬 개발자 도구에서 표현식인 문을 실행하면 언제나 평가된 값을 반환함
var num = 10; // => undefined
// 표현식 문
100 + num; // => 110
'FrontEnd > Javascript' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive🦎] 6장 : 데이터 타입 (0) | 2023.03.24 |
---|---|
[자바스크립트 완벽 가이드🦏] 4장 : 표현식과 연산자 (0) | 2023.03.22 |
[모던 자바스크립트 Deep Dive🦎] 4장 : 변수 (0) | 2023.03.20 |
[모던 자바스크립트 Deep Dive🦎] 1-3장 : 프로그래밍, 자바스크립트, 자바스크립트 개발 환경 (0) | 2023.03.20 |
[자바스크립트 완벽 가이드🦏] 3장 : 타입, 값, 변수 (1) | 2023.03.12 |
Comments