클로저란?
함수와 함수가 선언된 어휘적(lexical) 환경의 조합을 뜻한다. 자바스크립트만의 고유한 개념이 아니라, 여러 함수형 프로그래밍 언어에서 공통적으로 발견되는 특성이다. 클로저의 핵심은, 스코프를 이용하여 변수의 접근 범위를 닫는 폐쇄성이다. 스코프를 이해해야 클로저를 이해할 수 있다.
https://is-this-it.tistory.com/134
[JS] 스코프(Scope)란?
스코프란? 식별자 접근 규칙에 따른 유효 범위를 말한다. 변수, 함수, 클래스 등의 식별자에 접근할 수 있는 범위가 존재하는데, 이 범위는 중괄호(블록)-Block Scope- 또는 함수-Function Scope-에 의해
is-this-it.tistory.com
클로저 스코프 체인
모든 클로저에는 세가지 스코프(범위)가 있다.
클로저 함수의 장점
1. 데이터 보존: 외부 함수 실행이 끝나더라도 외부 함수 내 변수 사용 가능
2. 정보의 접근 제한(캡슐화): 클로저 모듈 패턴을 사용해 객체에 담아 여러 개의 함수를 리턴하도록 만듦
3. 모듈화 유리: 클로저 함수를 각각의 변수에 할당하면 각자 독립적으로 값을 사용하고 보존 가능
MDN 문서
https://developer.mozilla.org/ko/docs/Web/JavaScript/Closures
클로저 - JavaScript | MDN
클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다.
developer.mozilla.org
'웹_프론트엔드 > JavaScript' 카테고리의 다른 글
[자바스크립트] 배열 안에 배열이 있을때 flat한 배열로 만들기 (0) | 2023.12.05 |
---|---|
[자바스크립트] 이미지 URL을 File 또는 FileList로 변환하기 (0) | 2023.11.10 |
[JS] 스코프(Scope)란? (0) | 2023.07.24 |
[JS] 연속된 정수 배열을 만드는 다양한 방법 (0) | 2023.07.14 |
자바스크립트 스크롤 애니메이션 넣기 - Intersection Observer API (0) | 2023.03.31 |