728x90
내 개인적인 생각이긴 하지만
아마 자바스크립트를 사용하고 있는 사람들 중에 자신이 짠 소스 중에 클로저를 사용했는데
그게 클로저라는건 모르고 있는 사람들이 더 많을 것 같다는 생각이 든다..
클로저라해서 closer 라고 생각했는데 closure 였음
closer: 가까이, 닫는 것
closure: 폐쇄
1. 함수 내부에 함수를 만들었을 때 내부에 만들어진 함수
2. 클로저는 차후에 외부 함수의 변수를 사용할 수 있기 때문에 대개 반환하여 사용
3. 클로저는 외부 함수의 변수에 접근할 수 있기 때문에 일반적으로 두가지 목적을 위해 사용
- 사이드 이펙트 제어하기
- private 변수 생성하기
-> 사이드 이펙트 제어하기
- 함수에서 값을 반환할 때를 제외하고 무언가를 행할 때 사이드 이펙트가 발생
- 예) Ajax요청, timeout 생성, console.log 선언 등
-> private 변수
- 함수 내의 변수는 함수 바깥에서 접근할 수 없음
- 그 변수들은 접근할 수 없기 때문에 private 변수라고 불림
- 해당 변수들에 접근해야할 경우가 종종 발생하는데, 클로저를 활용하면 가능
나도 몰랐음...
참고 사이트
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 자식창에서 부모창 함수 호출 (0) | 2020.11.05 |
---|---|
[JavaScript] 정규식 (0) | 2020.01.03 |
[JavaScript] 라디오버튼(radio button) 값 가져오기 등 (0) | 2019.08.21 |
[JavaScript] replace/replaceAll/split (0) | 2019.08.13 |
[JavaScript] indexOf (특정문자 체크) (0) | 2019.07.24 |