본문 바로가기
JavaScript

[PoiemaWeb] 함수의 형태(즉시 실행, 내부, 재귀, 콜백)

by pds6370 2023. 3. 10.

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