모던 자바스크립트 Deep Dive - 5. 표현식과 문

둡둡·2023년 12월 31일

5.1. 값

  • 값(value)은 식(표현식, expression)이 평가(evaludate)되어 생성된 결과
  • 평가란 식을 해석해서 값을 생성하거나 참조하는 것
  • 변수에 할당되는 것은 식이 아니라 평가된 결과인 값
    • ex) var sum = 10 + 20 -> sum에는 10 + 20이 아닌 30이라는 값이 할당됨

5.2. 리터럴

  • 리터럴(literal)은 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳 등) 또는 약속된 기호('', [] 등)를 통해 값을 생성하는 표기법
  • 리터럴 종류
    • 정수, 부동소수점, 2진수, 8진수, 16진수, 문자열, 불리언, null, undefined 등

5.3. 표현식

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

5.4. 문

  • 문(statement)는 프로그램을 구성하는 기본 단위이자 최소 실행 단위, 여러 토큰으로 구성됨
    • 토큰(token)이란 문법적인 의미를 가지고 더 이상 나눌 수 없는 코드의 기본 요소
  • 문의 집합으로 이뤄진 것이 프로그램
  • 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍
  • 선언문, 할당문, 조건문, 반복문 등으로 구분함

5.5. 세미콜론과 세미콜론 자동 삽입 기능

  • 세미콜론(;)은 문의 종료를 의미함
    • 옵션, 생략 가능하지만 사용을 권장함
    • 자바스크립트 엔진에서 세미콜론 자동 삽입 기능(ASI)이 수행됨
  • 0개 이상의 문을 중괄호로 묶은 코드 블록({...})은 자체 종결성을 가지므로 붙이지 않음

5.6. 표현식인 문과 표현식이 아닌 문

  • 두 가지를 구별하는 방법은 변수에 할당해보는 것
  • 표현식인 문은 값으로 평가될 수 있는 문 -> 할당문
    • var x = 100;
    • 할당문 x를 값으로 사용할 수 있음
  • 표현식이 아닌 문은 값으로 평가될 수 없는 문 -> 변수 선언문
    • var data = var x;
    • 변수 선언문은 값으로 사용할 수 없음

[출처] 모던 자바스크립트, Deep Dive

profile
괴발개발라이프

0개의 댓글