# 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)