---
# System prepended metadata

title: '2. Back to the Basics: 프레임워크보다 기본기 (2)'
tags: [지호, 프론트엔드 Back to Basics]

---

# 2. Back to the Basics: 프레임워크보다 기본기 (2)

###### tags: `지호`, `프론트엔드 Back to Basics`

---

## 1. Lexical Environment

![그림20](https://user-images.githubusercontent.com/24283401/159841663-147f475e-f06d-4524-a82c-0836f9321e9a.png)


<br/>

## 2. Execution Context 

- 정의
![그림21](https://user-images.githubusercontent.com/24283401/159841667-b995afca-a384-4a4e-9e89-b71f6052bf03.png)

<br/>

- 과정
![그림22](https://user-images.githubusercontent.com/24283401/159841670-3af7c058-6b0d-47df-8227-e795005541d2.png)

![그림23](https://user-images.githubusercontent.com/24283401/159841672-62641c18-5caa-4258-9d17-9e1ac0001f0b.png)

<br/>

## 3. Lexical Scope 

- 정의
![그림24](https://user-images.githubusercontent.com/24283401/159841674-586a476c-9ffb-45d2-891f-d3e2fd1383aa.png)

-과정
![그림25](https://user-images.githubusercontent.com/24283401/159841679-7bc43069-a317-4c1c-836b-8ba510a15ed4.png)

<br/>

## 4. Strict mode
- 정의
![그림26](https://user-images.githubusercontent.com/24283401/159843690-2075af77-b90b-4c0d-bd80-77a411f0bc80.png)

<br/>

- 명시적 에러
1. 선언하지 않은 변수에 값을 할당 불가
2. 읽기 전용 전역 객체에 값을 할당하면 에러 발생 (일반모드느 조용한 에러)
3. 지울 수 없는 값을 지우려고 하면 에러 발생 (일반모드는 조용한 에러)
4. 함수 파라미터에 중복 이름 사용 불가

<br/>


## 5. 비동기 자바스크립트

![그림27](https://user-images.githubusercontent.com/24283401/159866751-5af730bf-1870-4db0-848d-ff1d053d311e.png)

- 이벤트 루프란


![그림28](https://user-images.githubusercontent.com/24283401/159866760-a1f482d7-05b6-4956-86fb-8939f2cd72da.png)

- 이벤트 루프 동작 과정
![그림29](https://user-images.githubusercontent.com/24283401/159866761-3acc7ea8-effe-40e9-a2c6-83bd6159f139.png)

<br/>

## 6. Promise, async, await

![그림30](https://user-images.githubusercontent.com/24283401/159871278-92b518b0-fa56-4916-aa9f-4ca4b996f284.png)

<br/>

![그림31](https://user-images.githubusercontent.com/24283401/159871636-80e94209-96a7-48de-9901-657e9380eb8f.png)

