Closure(클로저)

개념: 함수 외부에서 선언된 변수에 접근 하는 것

function add(a) {
  console.log(a + first)
}
const first = 2
add(2)

기본적 변수 접근

function add(a) {
  const first = 2
  console.log(a + first)
}

add(2)

클로저를 활용하면, 어떤 함수 내부에서만 사용되는 일회성 함수의 매개변수가 생략이 가능하다.

BUT!
클로저가 많아지면 코드가 읽거나 고치기 어려워지고 버그 발생 쉽다.

예시)

let rate = 0.9

function A(number) {
  const B = (number) => number * rate
  return number.map(B)
}

함수 A ⇒ 클로저 생성
함수 B ⇒ 중첩 클로저
따라서, rate의 정확한 출저 알기 어렵다.

좋은 웹페이지 즐겨찾기