[JS] Clouser

daun·2022년 5월 23일
0

[기술 면접 준비]

목록 보기
13/48

질문

클로져에 대해서 설명해 주세요.

  • 질문의 요지 : 클로저를 어떻게, 왜 사용하는가?

답변

클로저는 함수와 함수가 선언된 어휘적 환경의 조합입니다.

예상 꼬리 질문

  • 어휘적 환경이 뭐죠?
    => 함수가 선언된 주변 환경을 의미합니다. 주로 외부 함수의 변수가 내부함수의 어휘적 환경에 포함됩니다. 그래서 내부 함수가 리턴되어도 나중에 클로저의 어휘적 환경에 접근하려 외부 함수의 변수에 접근이 가능한 것입니다.

  • 그래서 클로져를 언제, 어떻게 쓰나요?
    => 자바 스크립트의 어떤 함수라도 클로저를 가지고 있습니다. 어떤 함수든 전역변수에 접근할 수 있기 때문입니다. 그래서 언제나 쓰입니다.
    => 또한, 자바 스크립트에서 private메서드를 구현하기 위해서도 클로저를 활용할 수 있습니다. 클로저 내에 있는 변수는 외부에서 접근할 수 없기 때문에, 클로져 내에 있는 변수를 활용할 수 있는 private 메서드만 따로 노출시켜서 인터페이스처럼 사용할 수 있게 됩니다.

정리하면, 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이며, 특히 private 메서드 구현을 위해 알아야 하는 개념입니다.

profile
Hello world!

0개의 댓글