모던 자바스크립트 Day 6

이현정·2022년 4월 5일
0

🔖 읽은 범위: 5장 표현식과 문 (p.50~58)

☘️ 책갈피

값(value):

  • 식(표현식)이 계산(평가 evaluate)되어 새성된 결과

리터럴(literal):

  • 값이 생성되는 가장 기본적인 방법.
  • 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
  • 참고로 리터럴 표기법이란

표현식(expression)💖 :

  • 값으로 평가될 수 있는 문(statement).
  • 즉, 리터럴도 표현식에 속하며 이외 식별자, 연산자, 함수 호출 등으로 표현식은 이뤄질 수 있다.

문(statement)💖 :

  • 프로그램을 구성하는 기본단위이자 최소 실행 단위이다.
  • 명령문이라고도 부른다.
  • 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.

    선언문: 변수를 선언한다. // ex. var x;
    함수 선언문: 함수를 선언한다. // ex. function handleClick () {}
    할당문: 변수에 값을 할당한다. // ex. x = 10;
    조건문: 지정한 조건에 따라 실행할 코드 블록({...})을 결정 // ex. if (x>1) { console.log(x)}
    반복문: for (var i=0; i<2; i++) {console.log(i)}

세미콜론(;):

  • 문의 종료를 나타낸다.
  • 코드 블록({...}) 뒤에는 붙이지 않는다. 자체 종결성(self-closing)을 가지기 때문이다.
  • 또 세미콜론은 생략 가능하다. 세미콜론 자동 삽입 기능이 암묵적으로 수행되기 때문이다.
  • 하지만 세미콜론 자동삽입 기능의 동작과 개발자의 예측이 일치하지 않는 경우가 간혹 있기 때문에 가능하면 ; 표시를 하는게 권장된다(이 책에서는). ESLint 와 같은 정적 분석 도구에서도 세미콜론 사용을 기본으로 설정한다고 한다.

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

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

    <요약>
    .
    💖 표현식이 아닌 문: 값으로 평가할 수 없는 문
    ex) 선언문 : var x 문은 표현식이 아니다. ( undefined 가 나오지만 이는 값이 아닌 완료 값이라고 한다. 완료 값은 평가된 결과가 아니다. 따라서 다른 값과 같이 변수에 할당할 수 도 없고 참조할 수 도 없다.)
    .
    💖 표현식인 문: 값으로 평가할 수 있는 문
    ex) 할당문 : x= 100 문은 100이라는 값으로 평가되는 표현식이다.
    .
    💖 구분: 변수에 할당해보기
    1) var foo = var x; // SyntaxError: Unexpected token var
    2) var foo = x = 100; // 100
    변수에 에러 없이 할당할 수 있는 문(x=100)은 표현식이다.

? 의문점

리터럴과 데이터 타입의 차이
ESLint: 세미콜론에서 언급됐다.

💬 느낀점

x

🌟 세 줄 요약

표현식(리터럴 포함) -(평가)-> 메모리(변수) 안에 값 할당
(p.51 그림)

0개의 댓글