<모던 자바스크립트 Deep Dive - 제 05장>
2023. 01. 27
5.1 값)
값(value)은 식(표현식)이 평가되어 생성된 결과를 말한다.
ex)
10 + 20
위의 예시는 평가되어서 숫자 값 30을 생성한다.
5.2 리터럴)
리터럴은 사람은 이해할 수 있는 문자 또는 약속된 기호를 사용해
값을 생성하는 표기법을 의미한다.
리터럴을 통해 코드를 작성하면
자바스크립트 엔진은 이를 평가하고, 값을 생성한다.
ex)
[1,2,3] 을 작성하면 이는 배열 리터럴로 배열로 값을 생성하게 되고
"Inho" 를 작성하면 이는 문자열 리터럴로 문자열 값을 생성하게 되는것
5.3 표현식)
표현식은 값으로 평가될 수 있는 문(statement)이다.
즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
(리터럴은 값으로 평가되기때문에 리터럴도 표현식임)
ex)
const score = 100;
위와같은 예제에서 100은 리터럴이다.
ex)
const score = 50 + 50;
위의 예제의 50 + 50은 리터럴과 연산자로 이루어져 있다.
이때 50 + 50도 평가되어 숫자 값 100을 생성하기때문에
이 또한 표현식이다.
5.4 문)
문 vs 표현식
문 = statement
표현식 = expression
문>
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위임
문은 여러 토큰으로 구성된다.
여기서 토큰이란 문법적인 의미를 가지며
문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
ex)
const sum = 1 + 2;
위와 같은 예제에서 각각의 const, sum, =, 1, 2, ; 모두가 토큰에 해당하고
위의 토큰들을 묶어 문이라고 부른다.
5.5 세미콜론과 세미콜론 자동 삽입 기능)
세미콜론(;)는 문의 종료를 의미함!
따라서 문을 끝낼 때는 세미콜론을 붙여야함
하지만, 중괄호{}로 묶인 코드 블록 뒤에는 세미콜론 붙이지X
why? 코드 블록은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문
이런 세미콜론은 생략이 가능한데
이는 자바스크립트 엔진이 문의 끝이라고 예상하는 지점에
세미콜론을 자동으로 붙여주는 자동 삽입 기능이 있기 때문
(하지만 붙이지 않을경우 개발자의 의도와 다르게 동작할 수도 있기때문에 붙이는걸 권장함)
5.6 표현식인 문과 표현식이 아닌 문)
표현식인 문과 표현식이 아닌 문을 구별하는 간단한 방법은
변수에 할당해보기
표현식인 문 => 값으로 평가되기 때문에 변수에 할당 가능
표현식이 아닌 문 => 값으로 평가 못하기 때문에 변수에 할당하면 에러 발생
https://link.coupang.com/a/F6ksK
모던 자바스크립트 Deep Dive:자바스크립트의 기본 개념과 동작 원리
COUPANG
www.coupang.com
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'개발 > HTML+CSS+JS' 카테고리의 다른 글
모던 자바스크립트 Deep Dive - 제 06장(2) (2) | 2023.02.02 |
---|---|
모던 자바스크립트 Deep Dive - 제 06장(1) (0) | 2023.01.31 |
모던 자바스크립트 Deep Dive - 제 4장 (2) | 2023.01.26 |
모멘텀 만들기 일지(1) (0) | 2022.11.21 |
모던 자바스크립트 Deep Dive - 제 01장 (0) | 2022.11.19 |