자바스크립트 클로저란?

김민기·2023년 3월 17일
0

cs

목록 보기
1/3

자바스크립트 클로저란 ?

클로저란 자바스크립트의 함수가 가지는 특징으로써 함수 내부에서 선언된 변수를 함수 외부에서도 접근 가능하게 해주는 메커니즘이다. 이를 통해 변수의 값을 유지하거나 함수의 실행결과를 유지할 수 있기 때문에 함수형 프로그래밍에서 자주 사용된다. 이러한 점은 자바스크립트의 비동기 처리 할 때 매우 유용하게 사용된다.

클로저는 주로 다음과 같은 상황에서 사용된다.

함수 내부에서 선언된 변수를 외부에서 접근해야 할 때,
함수 내부에서 선언된 변수의 값을 계속 유지해야 할 때,
콜백 함수 등에서 함수 외부의 변수에 접근해야 할 때

하지만 클로저를 남발하게 될시 메모리 누수 등의 문제가 발생할 수 있으므로 클로저를 사용할 때에는 메모리 관리에 대한 이해와 적절한 사용이 필요하다.

예시)

function outerFunction(x){
	var y = 10
    
    function innerFunction(){
    	console.log(x + y)
    }
	return innerFunction
}

var result = outerFunction(5)
result()

// 15

0개의 댓글

관련 채용 정보