• Blog
  • Projects
  • Resume
profile_image

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

StudyJavaScript

2024.01.15

5.1 값

  • 값은 식(표현식)이 평가되어 생성된 결과를 뜻함
    01
  • 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간
    var sum = 10 + 20; // 값 30이 변수에 할당
    


5.2 리터럴

  • 리터럴은 사람이 이해할 수 있는 문자 혹은 약속된 기호를 사용해 값을 생성하는 표기법
    • 사람이 이해할 수 있는 문자아라비아 숫자, 알파벳, 한글 등..

    • 약속된 기호'', "", ., [], {}, // 등..



5.3 표현식

  • 표현식은 값으로 평가될 수 있는 문 (표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조함)
    // 1️⃣ 리터럴 100은 자바스크립트 엔진에 의해 평가되어 값을 생성 (즉, 리터럴은 그 자체로 표현식)
    var score = 100;
    // 2️⃣ 50 + 50은 평가되어 숫자 100 생성. 표현식임!
    var score = 50 + 50;
    // 3️⃣ 변수 식별자 참조. 값으로 평가됨. 표현식임!
    score;
    


5.4 문

02

  • 은 프로그램을 구성하는 기본 단위이자 최소 실행 단위
    • 문은 여러 토큰으로 구성됨
  • 토큰은 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미
    • 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 등은 문법적인 의미를 가짐
  • 추가적으로..
    • 문을 명령문이라고도 함. 실행되면 무슨 일이 일어나니까!
    • 문은 선언문, 할당문, 조건문, 반복문 등으로 구분 가능!


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

  • 표현식인 문은 값으로 평가될 수 있는 문 (할당문 등..)
  • 표현식이 아닌 문은 값으로 평가될 수 없는 문 (변수 선언문, 조건문 등..)
  • 둘의 구별법은 변수를 할당해보는 것!
    // 1️⃣ 표현식이 아닌 문은 값처럼 사용 불가
    var foo = var x; // syntax error
    // 2️⃣ 변수 선언문은 표현식이 아닌 문
    var x;
    // 3️⃣ 할당문은 그 자체가 표현식이며 완전한 문임 (할당문은 표현식인 문)
    x = 100;
    
+ 완료 값
  • 크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 언제나 undefined를 출력
    이를 완료 값이라 함. 완료 값은 표현식의 평가 결과가 아님!!
    • 표현식인 문을 실행하면 평가된 값을 반환