FE/리뷰

모던 자바스크립트 딥다이브 5장 정리

따봉치치 2024. 2. 29. 15:49
728x90

10 + 20; // 10 + 20 은 평가되어 숫자 값 30을 생성
  • 식(표현식)이 평가되어 생성된 결과
  • 모든 값은 데이터 타입을 가지며 메모리에 2진수 비트의 나열로 저장됨
  • 변수에 할당되는 것은 값 

 

리터럴

//1. 리터럴 표현식
10
'hello'

//2. 식별자 표현식(선언이 이미 존재한다고 가정)
sum
arr[1]

//3. 연산자 표현식
10 + 20
sum = 10

//4. 함수, 메서드 호출 표현식(선언이 이미 존재한다고 가정)
sol()
  • 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
  • 자바스크립트 엔진은 코드가 실행되는 런타임에 리터럴을 평가해 값을 생성

 

표현식

  • 값으로 평가될 수 있는 문(리터럴, 식별자, 연산자, 함수 호출 등)
  • 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조함

 

 

  • 프로그램을 구성하는 기본 단위이자 최소 실행 단위
  • 문의 집합으로 이루어진 것이 바로 프로그램
  • 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍
  • 문은 여러 토큰으로 구성됨
  • 명령문이라고 부름
  • 컴퓨터에 내리는 명렁
  • 선언문
  • 할당문
  • 조건문
  • 반복문

 

토큰

  • 문법적인 의미를 가짐
  • 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
var   sum    =    1     +     2     ;    => 문

  ↓    ↓     ↓    ↓     ↓     ↓     ↓

토큰  토큰  토큰 토큰  토큰 토큰  토큰

 

 

세미클론

  • 문의 종료를 나타냄
  • 자바스크립트 엔진은 세미클론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행
  • 세미클론 생략 가능함
  • 자바스크립트 엔진이 소스코드를 해석할 때 문의 끝이라고 예측되는 지점에 세미클론을 자동으로 붙여주는 세미클론 자동 삽입 기능(ASI)이 암묵적으로 수행됨

 

표현식인 문 vs 표현식이 아닌 문

var x; // 선언문은 값으로 평가될 수 없으므로 표현식이 아닌 문

x = 10; // 값으로 평가할 수 있으므로 표현식인 문
  • 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것
  • 표현식인 문은 값으로 평가되기 때문에 변수에 할당 가능
  • 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러 발생
  • 크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 언제나 undefined를 출력함 => 완료 값
728x90