[JS] Expression & Statement

Terms

  • 평가(evalutate) - 식을 해석해서 값을 생성하거나 참조하는 것

  • 값(value) - 표현식이 평가되어 생성된 결과.

    • 모든 값은 데이터 타입을 가지며, 메모리에 2진수로 저장됨
    • 데이터 타입에 따라 값이 다르게 해석됨
    • 리터럴을 사용하여 값을 생성
  • 리터럴(literal) - 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법

    • 런타임에 리터럴을 평가해 값을 생성
    • 정수, 문자열, 불리언, 배열, 함수 리터럴 등..

표현식

Expression

  • 값으로 평가할 수 있는 문
  • 평가되면 새로운 값을 생성하거나 기존 값을 참조
  • 리터럴, 식별자, 연산자, 함수 호출 등의 조합

예시

// 리터럴 표현식
10
'hi'

// 식별자 표현식
arr[1]
person.name
sum

// 연산자 표현식
10 + 20
sum = 10
sum !== 10

// 함수/메서드 호출 표현식
square()
person.getName()

Statement

  • 프로그램을 구성하는 기본 단위이자 최소 실행 단위 (=명령문)
  • 선언문, 할당문, 조건문, 반복문 등..
  • 문의 끝에 세미콜론을 붙이면 문의 종료를 나타냄

예시

// 변수 선언문
var x;

// 할당문
x = 5;

// 함수 선언문
function foo () {}

// 조건문
if () {}

// 반복문
for (let i = 0; i < 10; i++) {}

표현식인 문

  • 할당문 x = 100;
  • 값처럼 사용할 수 있다 var foo = x = 100;
  • 개발자 도구 콘솔에서 표현식인 문은 평가된 값을 반환

표현식이 아닌 문

  • 변수 선언문 var x;
  • 개발자 도구 콘솔에서 표현식이 아닌 문을 실행하면 완료 값 undefined 출력

참고 - 모던 자바스크립트 Deep dive

좋은 웹페이지 즐겨찾기