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

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

    image.jpg

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

    // 리터럴 표현식
    10
    'Hello'
    
    // 식별자 표현식 (선언이 이미 존재한다고 가정)
    sum // 값을 생성하지는 않지만 값으로 평가되기에 표현식이다.
    person.name // 객체의 값을 참조
    arr[1] // 배열의 값을 참조
    
    // 연산자 표현식
    10 + 20
    'hello' + 'world' // 문자열과 문자열 결합
    'hello' + world // 문자열과 변수 결합
    sum = 10
    sum !== 10
    
    // 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
    square()
    person.getName()
    
  • 문 : 프로그램을 구성하는 기본 단위이자 최소 실행 단위

    // 변수 선언문
    var x;
    
    // 할당문
    x = 5;
    
    // 함수 선언문
    function foo () {}
    
    // 조건문
    if (x > 1) { console.log(x); }
    
    // 반복문
    for (var i = 0; i < 2; i++) { console.log(i); }
    

    image (1).jpg

  • 토큰 : 문법적 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소

    • 공백은 토큰이 되지 않지만 토큰을 나누는 기준의 역할은 한다.
  • 세미콜론은 문의 종료를 나타낸다.

    • 코드블록에는 세미콜론을 붙이지 않는다.
      • if 문, for 문 … 등등
      • 자체 종결성을 갖기 때문
  • 표현식과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 벙법은 변수에 할당해 보는 것.

    • 표현식인 문은 변수에 할당 가능.
    • 표현식이 아닌 문은 변수에 할당하면 에러가 발생