본문 바로가기
Book/JavaScript

[모던 자바스크립트 Deep Dive] #4~5. 변수, 표현식과 문

by 이지이즤 2022. 2. 28.
728x90

 

▣ 04장: 변수
4.1 변수란 무엇인가? 왜 필요한가?
     변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름,
             값의 위치를 가리키는 상징적인 이름
     할당(대입, 저장) : 변수에 값을 저장하는 것
     참조 : 변수에 저장된 값을 읽어 들이는 것

4.2 식별자
     식별자(변수 이름) : 어떤 값을 구별해서 식별할 수 있는 고유한 이름, 식별자는 값이 아니라 메모리 주소를 기억함

4.3 변수 선언
     선언 단계 : var, let, const 키워드 사용.
                  (var 단점 : 블록 레벨 스코프 지원X, 함수 레벨 스코프를 지원함, 의도치 않게 전역 변수가 선언됨)
                  변수 이름을 비롯한 모든 식별자는 실행 컨텍스트에 등록됨.
                  선언하지 않은 식별자에 접근하면 ReferenceError.
     초기화 단계 : 변수가 선언된 이후 최초로 값을 할당. var 키워드로 선언한 변수는 undefined로 암묵적 자동 초기화 

4.4 변수 선언의 실행 시점과 변수 호이스팅
     호이스팅 : 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작.
                   모든 선언문은 런타임(소스코드가 한 줄씩 순차적으로 실행되는 시점)
                   이전 단계(소스코드 평가 과정)에서 먼저 실행됨.

    console.log(score); //참조 에러 발생하지 않음, undefined출력
    var score; //변수 선언문


4.5 값의 할당
     값의 할당 : 소스코드가 순차적으로 실행되는 시점인 런타임에 실행됨.

4.6 값의 재할당
     재할당 : 변수에 새로운 값을 또다시 할당
     상수 : 값을 재할당 불가능, const키워드로 표현가능
                                        (const키워드를 반드시 상수만을 위해 사용하지는 않음. 객체의 property변경 등) 
  
4.7 식별자 네이밍 규칙
     특수문자, 숫자로 시작, 예약어 -> 불가능

    

▣ 05장: 표현식과 문
5.1 값
     값 : 식(표현식)이 평가(식을 해석해서 값을 생성하거나 참조)되어 생성된 결과

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

5.3 표현식
     표현식 : 값으로 평가될 수 있는 문

5.4 문
     문 : 프로그램을 구성하는 기본 단위이자 최소 실행 단위, 여러 토큰으로 구성됨.
           -> 선언문, 할당문, 조건문, 반복문
     토큰 : 문법적인 의미를 가지며 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미

5.5 세미콜론과 세미콜론 자동 삽입 기능
     ASI : 세미콜론 자동 삽입 기능 -> 문 끝에 붙이는 세미콜론은 생략 가능

5.6 표현식인 문과 표현식이 아닌 문
     표현식이 아닌 문은 값처럼 사용할 수 없다(변수에 할당 할 수 없다). 

728x90

댓글