Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions 비동기.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# 비동기

| 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먾저 실행하는 자바스크립트의 특성
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먾저 실행하는 자바스크립트의 특성
| 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 자바스크립트의 특성

오타가 있네요

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

비동기가 자바스크립트에만 존재하는 개념이 아닌데 자바스크립트의 특성이라고 설명하는게 적절한지 모르겠네용


### 심화 학습

- callback
- Promise
- async/await
18 changes: 18 additions & 0 deletions 실행_컨텍스트.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 실행 컨텍스트

| 코드가 실행하기 위해 필요한 주변 환경 정보들을 모아둔 객체

- 자바스크립트에서는 코드가 실행하기 위해 필요한 주변 환경 정보들을 모아두는데, 이를 실행 컨텍스트라고 한다.
- 블록에 의해서 구성된다.

### Variable Environment(변수 환경)와 Lexical Environment(렉시컬 환경)으로 나눌 수 있다

#### Variable Environment

- 딱 실행되면 처음에 딱 외부 환경을 수집해 저장해놓는다. (변경되지 않음)
- 현재의 컨텍스트와 관련된 코드의 변수를 수집한다. (호이스팅)

#### Lexical Environment

- 처음에는 Variable Environment와 같다.
- 실시간으로 변경사항을 반영한다.
14 changes: 14 additions & 0 deletions 이벤트_루프.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# 이벤트 루프

| Task Queue에서 하나씩 이벤트들을 꺼내 콜스택으로 올려 동작시키는 루프를 말한다.

- 자바스크립트는 싱글 스레드 기반 언어이기 때문에 한 번에 하나씩 작업을 진행
- 이벤트 루프에서는 이벤트 발생 시 호출되는 콜백 함수들을 태스크 큐에 전달하고, 태스크 큐에 담긴 콜백 함수들을 콜스택에 넘겨주는 역할을 함

#### 비동기 작업 실행 순서

1. 코드가 호출 스택에 쌓임
2. 자바스크립트 엔진은 비동기 작업을 Web API에게 넘김
3. Web API는 비동기 작업을 수행하고, 콜백 함수를 이벤트 루프를 통해 태스크 큐에 넘겨줌
4. 이벤트 루프는 콜스택과 태스크 큐를 보고 있다가, 콜스택에 쌓인 게 없으면 콜백함수를 콜스택으로 넘겨줌
5. 콜스택에 쌓인 콜백함수가 실행, 콜스택에서 제거됨
17 changes: 17 additions & 0 deletions 이벤트_위임.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 이벤트 위임

| 상위 노드에서 하위 노드의 이벤트를 제어하는 방식

#### 이벤트 버블링

- 특정 요소에 이벤트가 발생했을 때, 해당 이벤트가 그 요소의 상위 요소로 전달되는 것

#### 이벤트 캡쳐링

- window로부터 이벤트가 발생되는 곳을 찾으려 하는 것

#### 이벤트 동작 방식

1. 이벤트가 발생되는 곳을 확인하기 위해 캡쳐링을 해서 감지함
2. Target을 발견함
3. Bubbling을 수행함