2. 클로저
1220 단어 JavaScriptFE프론트엔드면접준비FE
클로저(Closure)
클로저를 이해하기 위해선 먼저 '스코프'라는 개념에 대해 숙지하고 있어야합니다.
구글에 JavaScript Scope 검색 후 해당 개념 숙지한다면 더 수월하게 읽을 수 있습니다.
추후 내용이 정정, 추가될 수 있습니다.
클로저를 이해하기 위해선 먼저 '스코프'라는 개념에 대해 숙지하고 있어야합니다.
구글에 JavaScript Scope 검색 후 해당 개념 숙지한다면 더 수월하게 읽을 수 있습니다.
추후 내용이 정정, 추가될 수 있습니다.
클로저란
-
함수가 종료되었음에도 불구하고 그 함수를 외부에서 참조하고 있어서 마치 남아있는 것처럼 동작하는 것
모든 함수에는 Life Cycle이라는 것이 존재합니다. 함수의 생애주기가 종료되었음에도 불구하고 외부의 참조로 인해 마치 존재하는 것처럼 여겨지는 것이 클로저의 특징입니다.
-
메모리 차원에서 손해를 볼 수 있지만 JavaScript의 강력한 기능이므로 적극 사용할 필요가 있습니다.
-
현재 상태를 기억하고 변경탠 최신 상태를 유지하는 데 사용합니다.
-
전역 변수의 사용을 억제하고 타 프로그래밍 언어의 접근 제한자 private을 흉내낼 수 있습니다.
클로저의 장점
-
데이터의 보존
- 특정 데이터를 스코프 안에 가두어 폐쇄성을 유지합니다.
- 특정 데이터를 스코프 안에 가두어 폐쇄성을 유지합니다.
-
캡슐화
- '객체'에 담아 여러 함수를 리턴하도록 만들어 정보의 접근 제한을 가능하게 합니다.
-
모듈화
- 함수를 '독립적인 기능을 하는 최소한의 단위'인 모듈로 분리해 재사용성을 극대화합니다.
- 클로저를 통해 데이터와 메서드를 묶어다닐 수 있기 때문에 모듈화에 유리합니다.
핵심?
스코프를 이용해서 변수의 접근 범위를 폐쇄적으로 다루는 것
자주 사용하는 변수를 전역으로 선언한다면
보안에 취약하고 오류를 추적하는 데 어려움을 겪을 수 있다.
클로저를 통해 이를 방지할 수 있고 비슷한 형태의 코드 재사용률을 높일 수 있다.
Author And Source
이 문제에 관하여(2. 클로저), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jooa7878/프론트엔드-면접준비-2.-클로저저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)