1. 즉시 실행 함수
- 함수의 정의와 동시에 실행되는 함수를 즉시 실행 함수라고 한다. 최초 한번만 호출되며 다시 호출할 수 없다.
이러한 특징을 이용하여 최초 한번만 실행이 필요한 초기화 처리등에 사용할 수 있다.

2. 내부 함수
- 함수 내부에 정의된 함수를 내부함수라 한다.
- 아래 예제의 내부함수 child는 자신을 포함하고 있는 부모함수 parent의 변수에 접근할 수 있다.
하지만 부모함수는 자식함수(내부함수)의 변수에 접근할 수 없다.

- 또한 내부함수는 부모함수의 외부에서 접근할 수 없다.

3. 재귀 함수
- 재귀 함수는 자기 자신을 호출하는 함수를 말한다.

- 재귀 함수는 자신을 무한히 연쇄 호출하므로 호출을 멈출 수 있는 탈출 조건을 반드시 만들어야 한다.
4. 콜백 함수
- 콜백 함수는 함수를 명시적으로 호출하는 방식이 아니라 특정 이벤트가 발생했을 때 시스템에 의해 호출되는 함수를 말한다. 대표적인 예는 이벤트 핸들러 처리이다.

- 콜백 함수는 매개변수를 통해 전달되고 전달받은 함수의 내부에서 어느 특정시점에 실행된다.
- 콜백 함수는 주로 비동기식 처리 모델에 사용된다. 비동기식 처리 모델이란 처리가 종료되면 호출될 함수(콜백함수)를 미리 매개변수에 전달하고 처리가 종료하면 콜백함수를 호출하는 것이다.
- 콜백 함수는 콜백 큐에 들어가 있다가 해당 이벤트가 발생하면 호출된다. 콜백 함수는 클로저이므로 콜백 큐에 단독으로 존재하다가 호출되어도 콜백함수를 전달받은 함수의 변수에 접근할 수 있다.

'JavaScript' 카테고리의 다른 글
| [PoiemaWeb] this (0) | 2023.03.15 |
|---|---|
| [PoiemaWeb] 프로토타입 (0) | 2023.03.12 |
| [PoiemaWeb] 함수(함수 정의, 매개변수, 호이스팅 (0) | 2023.03.10 |
| [PoiemaWeb] 변경불가성 (0) | 2023.03.09 |
| [PoiemaWeb] 객체 (0) | 2023.03.09 |