5장. 표현식과 문

Jun_Gyu·2024년 3월 1일
1

한 발자국 더, JS

목록 보기
5/5
post-thumbnail

1. 값이란❓

(또는 표현식)을 평가하여 생성된 결과를 이야기함.

평가란 식을 해석해서 값을 생성하거나 참조하는 것.


✨ 추가설명

모든 값은 각자의 데이터 타입을 가지며, 메모리에 이진수의 비트로 저장된다.
이때, 같은 값이더라도 데이터 타입에 따라 다르게 해석될 수 있다.

특징

  • 모든 값은 각자의 데이터 타입을 가짐며, 메모리에 이진수의 비트로 저장됨.
  • 같은 값이더라도 데이터 타입에 따라 다르게 해석될 수 있음.


2. 리터럴이란❓

사람이 이해할 수 있는 문자 혹은 약속된 기호를 이용값을 생성하는 표기법

JS 엔진은 런타임에 리터럴을 평가하여 값을 생성.



3. 문과 토큰

3-1. '문'이란❓

프로그램을 구성하는 기본 단위이자, 최소 실행 단위를 말함.

특징

  • 문의 집합이 프로그램이며,
  • 문을 작성하고 나열하는 것을 프로그래밍이라고 한다.
  • 문은 여러 토큰의 집합이다.
  • 문 === 명령문
  • 문의 종류에는 선언문, 할당문, 조건문, 반복문 네가지가 있다.

3-2. '토큰'이란❓

문법적으로 더이상 나눌 수 없는 코드의 기본 요소

키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 등이 모두 토큰이다.

   let num   =   10   +   20   ;  // 문
// 토큰 토큰 토큰 토큰 토큰 토큰 토큰


4. 표현식이란❓

값으로 평가될 수 있는 문을 이야기함.

이때, 표현식과 표현식이 평가된 은 서로 동치관계이며,
표현식은 값처럼 사용할 수 있다.

let num = 10 + 20;
// num은 30이라는 값으로 평가됨.

num + 70 // 100

위의 예시처럼 표현식다른 표현식의 일부가 되어
새로운 값을 생성할 수 있음.



5. 세미콜론이란❓

문의 종료를 나타내며,
JS엔진이 종료된 문의 위치를 파악하고 문을 하나씩 실행하기 위한 지표가 됨.

문을 끝낼 때는 세미콜론을 붙여야 하지만,
JS에서는 ASI가 암묵적으로 수행되어 자동으로 세미콜론을 붙여줌.

허나, 코드블록 뒤에는 세미콜론을 붙이지 않음.
코드블록은 자체 종결성을 갖기 때문.



6. 표현식인 문 vs 표현식이 아닌 문❓

표현식인 문은 값으로 평가될 수 있으며, 표현식이 아닌 문은 값으로 평가될 수 없다.

이 둘을 구별하는 간단한 방법은 변수에 할당할 수 있는지의 여부임.

// 선언문은 표현식이 아닌 문임.
var foo1 = var foo2 // SyntaxError: Unexpected token var 에러 발생
var foo3 

// 하지만 할당문은 그 자체가 표현식인 문이기에 값처럼 사용이 가능함.
foo3 = 234

// 표현식인 문은 값처럼 사용할 수 있다.
var foo4 = foo3 = 234

console.log(foo4) // 234

6-1. '완료 값'이란❓

완료 값이란
문이 종료되는 시점에 값을 가진다라는 뜻.

모든 문들이 가지는 값이지만, 표현식이면 그 표현식의 값을 완료값으로 가지며,
표현식이 아니면 그 완료값을 undefined로 가지게 된다.



profile
시작은 미약하지만, 그 끝은 창대하리라

0개의 댓글