HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
💻
프로그래밍
/
클로저
클로저
클로저

클로저

태그
클로저
대주제
학습포스팅
상태
수정필요(30%이상)
수정필요 부분
“1) 클로저 의미 2) 클로저 원리” 정리한 것들 재구성하기
중분류
Javascript
생성일
Sep 16, 2022 01:56 AM


⭐
대답할 수 있는 질문들
클로저란 무엇인가요?
클로저를 사용하는 이유는 무엇인가요?
클로저의 대표 활용 패턴은 무엇이 있나요?

1. 클로저의 의미

2. 클로저 작동 원리

3. 클로저 활용 패턴

3.1 콜백함수 내부에서 외부 데이터를 사용하고자 할 때

3.2 접근 권한 제어 (정보은닉)

  • private 변수와 public 변수를 함수 차원에서 구분

3.3 부분 적용 함수

n 개의 인자를 받는 함수에 미리 m개의 인자만 넘겨 변수로 기억해두었다가 필요시에 (n-m)개의 나머지 인자를 넘겨서 비로소 원래 함수를 실행하도록 하는 것
  • bind 메소드를 사용하는 것 자체가 부분 적용 함수
  • 실무에서의 debounce 사례

3.4 커링

여러개의 인자를 받는 함수를 하나의 인자만 받는 함수로 나누어서 순차적으로 호출될 수 있는 체인 형태로 함수를 구성한 것
  • 부분 적용 함수와 다른 점
    • 커링함수는 한 번에 하나의 인자를 전달하는 것이 원칙
    • 커링 함수의 중간 과정은 인자를 받기 위해 대기하는 것이고, 실제 원본함수는 모든 인자를 받는 마지막에 1번 실행된다.
  • 화살표함수로 가독성을 증가시켜 활용할 수 있다.
  • 마지막 인자가 넘어갈 때까지 함수 실행을 미루기 때문에, 지연실행(원하는 시점까지 지연시켰다가 실행 가능하다는 점)을 활용할 수 있다.
  • 사례
    • HTTP요청 시 baseUrl, path, id 를 각각 받는 커링 함수 구현
    • 라이브러리, 프레임워크 등에서 광범위하게 사용
      • redux 미들웨어?