Closure
Closure 이해하기
Closure는 함수가 자신이 정의된 외부 환경(변수)을 "기억"하는 특성입니다. 즉, 함수가 다른 함수의 내부에 정의되어 있을 때, 그 함수는 외부 함수에서 정의된 변수에 접근할 수 있습니다.
makeAdder()
함수는 내부에서addBy
변수를 사용합니다. 이 함수는 Closure를 반환하는데, 반환된 함수는addBy
값을 기억하고 있기 때문에addBy
가 설정된 값을 계속 사용할 수 있습니다.add2
는addBy
가 2일 때 반환된 함수이고,add4
는 4일 때 반환된 함수입니다.즉,
add2(3)
은 5를 반환하고,add4(3)
은 7을 반환합니다.addBy
값은 함수가 반환될 때 결정되고, 그 후에도 계속해서 사용됩니다
Closure: 함수는 **자신의 외부 환경(변수)**을 기억하고, 그 외부 변수에 계속 접근할 수 있다.
Last updated