[JS] 표현식과 문

소연·2023년 11월 9일
1
post-thumbnail
post-custom-banner

일러두기

  • 본 글은 ‘모던 자바스크립트 Deep Dive’ 05장, ‘표현식과 문’을 참고하여 작성되었습니다.
  • 글에 틀린 점이 있다면 댓글로 피드백 부탁드립니다 :)

값의 생성

  • 값은 표현식이 평가되어 생성된 결과이다.

표현식

  • 그렇다면 표현식이란 무엇인가? 표현식이란, 평가되어 값이 될 수 있는 문이다.
  • 어떤 문이 값이 될 수 있을까?
    10 // 10
    2 + 7 // 9
    sum = 10; // 10
    4 !== 5 // true
    각 줄은 최소 실행 단위인 하나의 문을 나타낸다. 위에 적힌 모든 문은 모두 표현식인데, 평가되어 하나의 값으로 동치될 수 있기 때문이다.
  • 어떤 문이 값이 될 수 없을까?
    var score; // 값으로 대체될 수 없는 문
    위 코드는 score라는 변수를 선언하는 문이다. 위 문은 값으로 평가될 수 없는 문이므로 표현식이 아니다. 어떤 문이 표현식인지를 확인하려면 그 문이 하나의 값으로 대체 될 수 있는지를 확인하면 된다

문(Statement) 의 구성

  • 문이란? 프로그램을 구성하는 최소 실행 단위. 코드상에서 한 줄, 또는 한 블록이라고 이해하면 편하다.
  • 문은 토큰token들로 이루어져있고, 토큰은 문법적으로 나눌 수 없는 코드의 기본 요소가 된다.
  • 예시 var score = 2 + 7; score라는 변수를 선언하고 그에 2+7의 연산 결과를 할당하는 문이 있다고 하자. 이 문은 var, score, =, 2, +, 7, ; 라는 더 이상 문법적으로 나눌 수 없는 토큰들로 이루어져있고, 각 토큰들의 종류는 아래 표기된 바와 같다.

리터럴 literal

  • 리터럴이란?
    • 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
    • 값이 될 수 있는 최소 단위
  • 리터럴 종류
    정수 리터럴, 부동소수점 리터럴, 2진수 리터럴, 6진수 리터럴, 불리언 리터럴, null 리터럴, 객체 리터럴, 배열 리터럴, 함수 리터럴, 정규표현식 리터럴

요약

  • 어떤 문이 있을때, 그 문은 값으로 평가될 수 있거나, 값으로 평가 될 수 없거나 둘 중 하나다.
  • 그 중 값으로 평가될 수 있는 문을 ‘표현식’ 이라 부른다.
  • 어떤 문이 값으로 평가될 수 있는지는 ‘그 문을 어떤 변수에 대입할 수 있는지’를 따져보면 알 수 있다. 값만 변수에 대입할 수 있기 때문이다. 가령, var score 같은 변수 선언을 다른 변수인 newVariable = var score에 이와같이 대입할 수 있을까? 그럴 수 없기 때문에 위 문은 표현식이 아니다.
  • 리터럴은 값이 될 수 있는 최소 단위라고 이해했다.
  • 이러한 리터럴을 비롯하여 식별자, 키워드, 세미콜론등의 토큰이 모여 하나의 문을 이룬다.
profile
배우고 정리해요
post-custom-banner

0개의 댓글