[딥다이브] 05장_표현식과 문

이말감·2022년 6월 26일
0

딥다이브

목록 보기
2/10

모던 자바 스크립트 Deep Dive 를 공부하며 정리하는 글을 또 정리하며 이해하는 글입니다.


1. 값

  • 식(표현식)이 평가되어 생성된 결과를 말한다.
    • 이때 평가는 식을 해석해서 값을 생성하거나 참조하는 것을 의미힌디.
  • 변수에 할당되는 것은 값이다.

2. 리터럴

  • 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글 등) 또는 미리 약속된 기호('', "", ., [], {}, // 등)로 표기한 코드
  • 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다,

3. 표현식

  • 값으로 평가될 수 있는 문
  • 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
  • 표현식은 리터럴, 식별자(변수, 함수 등의 이름), 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다.
  • 표현식은 값으로 평가되는데 이때 표현식과 표현식이 평가된 값은 동등한 관계, 즉 동치다.
  • 표현식은 값처럼 사용할 수 있다.
  • 표현식은 다른 표현식의 일부가 되어 새로운 값을 만들어낼 수 있다.

4. 문

  • 프로그램을 구성하는 기본 단위이자 최소 실행단위
    • 프로그램 : 문의 집합으로 이뤄진 것
    • 프로그래밍 : 문을 작성하고 순서에 맞게 나열하는 것

토큰

  • 문법적인 의미를 가지며, 문법적으로 더이상 나눌 수 없는 코드의 기본 요소
  • 문은 여러 토큰으로 구성된다.
  • 키워드, 식별자, 연산자, 리터럴, 세미콜론(;)이나 마침표(.) 등 특수 기호는 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소이므로 모두 토큰이다.

문 구분

  • 문을 명령문이라고도 부르기 때문에 문은 컴퓨터에 내리는 명령이다.
  • 문이 실행되면 명령이 실행되고 무슨 일이 일어나게 된다.
  • 문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.

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

  • 세미콜론(;)은 문의 종료를 나타낸다.
  • 자바스크립트 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순치적으로 하나씩 문을 실행한다.
  • 문을 끝낼 때는 세미콜론을 붙여야 한다.
    • 단, 0개 이상의 문을 중괄호로 묶은 코드 블록 뒤에는 세미콜론을 붙이지 않는다.
      • if믄, for문, 함수 등의 코드 블록 뒤
  • 문의 끝에 붙이는 세미콜론은 옵션이므로 생략 가능하다.
    • 자바스크립트 엔진이 소스코드를 해석할 때 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능(ASI)이 암묵적으로 수행된다.

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

  • 표현식은 문의 일부일 수도 있고, 그 자체로 문이 될 수도 있다.

표현식과 문 구별하기

  • 문에는 표현식인 문과 표현식이 아닌 문이 있다.
    • 표현식인 문 : 값으로 평가될 수 있는 문
    • 표현식이 아닌 문 : 값으로 평가될 수 없는 문
  • 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해보는 것이다.
    • 표현식인 문은 값으로 평가되므로 변수에 할당할 수 있다.
    • 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러가 발생한다.

전체 정리 노션

profile
전 척척학사지만 말하는 감자에요

0개의 댓글