DeepDive Chapter 05 표현식과 문

김준표·2023년 5월 26일
0

DeepDive

목록 보기
2/2
post-thumbnail

표현식

  • 값은 식(표현식)이 평가되어 생성된 결과
  • 평가 : 식을 해석해서 값을 생성하거나 참조하는 것
var example = 10 + 20 // var example로 메모리 공간 할당 후, 식별자 이름을 등록
                      // 10 + 20은 표현식이고, 평가가 되어 30이라는 결과값이 생성
                      // 30은 example 이라는 식별자가 등록된 메모리 공간에 할당

리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법

코드가 실행되는 시점(런타임)에 리터럴을 평가하여 값을 생성.

정수, 부동소수점, 2진수 등 약속된 기호를 통해 출력

표현식 : 값으로 평가될 수 있는 문

값으로 평가될 수 있는 모든 문은 모두 표현식이다.

: 프로그램을 구성하는 기본 단위이자 최소 실행 단위

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

var sum = 1 + 2;
// 1. 한 줄 자체가 문
// 2. var, sum, =, +, 1, 2 각각 문법적 의미를 띄므로 토큰

세미콜론

  • 세미콜론은 문의 종료를 나타내는 토큰이다.
  • if문, for문, 함수 등 코드 블록들은 자체 종결성을 가지고 있어, 세미콜론으로 문의 종료를 나타낼 필요가 없다.
  • 세미콜론은 필수가 아니며, JS 엔진이 ASI(세미콜론 자동 삽입 기능)을 통해 문의 끝을 예측하여 암묵적으로 세미콜론을 붙인다.
  • 하지만 개발자의 예상과 다르게 코드가 진행되는 경우가 비일비재 하기 때문에 일반적으로는 붙여서 코드를 작성한다.

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

표현식인 문 : 값으로 평가될 수 있는 문

var x = 5; // x 선언문임과 동시에 할당문이다. x는 5라는 값으로 평가되었기 때문에 표현식인 문이다.

표현식이 아닌 문 : 값으로 평가될 수 없는 문

var x; // var x는 선언문으로 값으로 평가될 수 없다.
var y = var z; // var z는 표현식이 아니기 때문에 값처럼 사용할 수 없다.
  • console에서 표현식인 문을 실행하면 평가된 값이 반환된다.
  • 표현식이 아닌 문을 실행하면 완료 값인 undefined가 반환된다.

단어

리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
표현식 : 값으로 평가될 수 있는 문
: 프로그램을 구성하는 기본 단위이자 최소 실행 단위
토큰 : 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소

profile
프론트엔드 개발자 | 문제가 있는 내용이 있다면 댓글로 알려주세요.

0개의 댓글