<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3e9b61fa-7a3a-4ebc-b502-407eaf7619ee/css__280x280.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3e9b61fa-7a3a-4ebc-b502-407eaf7619ee/css__280x280.png" width="40px" /> 매 주차 강의자료 시작에 PDF파일을 올려두었어요!

</aside>

<aside> 🚩 [학습 목표]

  1. 자바스크립트의 데이터 타입과 특징, 사용 시 주의할 점을 이해합니다.
  2. 변수가 메모리에 할당되는 과정과 메모리에 대한 기본 지식을 습득합니다.
  3. 실행 컨텍스트와 구성 요소인 VariableEnvironment과 LexicalEnvironment의 역할과 차이점, 스코프 체인과 this에 대해 이해합니다. </aside>

1. 데이터 타입 심화

(1) 데이터 타입의 종류(기본형과 참조형)

(2) 메모리와 데이터에 관한 배경지식

(3) 변수 선언과 데이터 할당

(4) 기본형 데이터와 참조형 데이터

(5) 불변 객체

(6) undefined와 null

2. 실행컨텍스트(스코프, 변수, 객체, 호이스팅)

자바스크립트의 **실행 컨텍스트**는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체입니다. 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 다음과 같은 일을 합니다.

  1. 선언된 변수를 위로 끌어올리구요 = 호이스팅(hoisting)
  2. 외부 환경 정보를 구성하구요.
  3. this 값을 설정해요.

이런 현상들 때문에 JS에서는 다른 언어랑은 다른 특징들이 나타난답니다.

(1) 실행 컨텍스트란?

(2) VariableEnvironment, LexicalEnvironment의 개요

(3) LexicalEnvironment(1) - environmentRocord(=record)와 호이스팅