javaScript/js.expresstion&statement

expresstion and statement

값(value)?

값(value)는 표현식(expression)이 평가(evaluate)되어 생성된 결과

1
10 + 20 ;  //30

10 + 20은 평가되어 숫자 값 30을 생성

1
var sum = 10 + 20;

변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당된다.
sum에 할당(assignment)되는 것은 10 + 20이 아니라, 10 +20이 평가된 결과인 숫자 값 30.
10 + 20은 할당 이전에 평가되어 값을 생성해야 한다.

리터럴(literal)?

  • 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하여 값을 생성하는 표기 방식(notaion)
  • js 엔진은 코드가 실행되는 시점(runtime)에 literal을 평가하여 값을 생성한다.

표현식(expresstion)?

표현식(expresstion)은 값으로 평가(evaluation)될 수 있는 문(statement)이다.

  • 표현식이 평가되면 값을 생성하거나 값을 참조한다.
  • 표현식은 리터럴, 식별자(변수,함수 등의 이름), 연산자, 함수 호출 등의 조합으로 이루어질 수 있다. (식별자 참조는 값을 생성하지는 않지만 값으로 평가되므로 표현식)

문(statement)?

  • 문(statement)는 프로그램을 구성하는 기본단위이자 최소 실행 단위이다.

  • 여러 토큰(token)들로 구성된다. (문법적으로 더 이상 나눌 수 없는 코드의 기본요소
    ex) 키워드, 식별자, 연산자, 리터럴, 세미콜론; , 마침표. ,

  • 명령문이라고도 부름 (선언문, 할당문, 조건문, 반복문)

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

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

표현식인 문과 표현식이 아닌 문을 구별하기 위한 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.

  • 표현식이 아닌 문
    1
    2
    3
    4
    var x;

    변수에 할당
    var foo = var x;
  • 표현식인 문
    1
    2
    3
    4
    x = 100;

    변수에 할당
    var foo = x = 100;
You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×