Web Dev/JavaScript :: 자바스크립트
[Javascript] 클로저 closure 이란?
HJPlumtree
2020. 6. 21. 15:20
closure 의 뜻은
폐쇠, 종료를 가지고 있다.
자바스크립트를 배우며 closure를 알아야 한다고 듣곤 했다.
그럼 closure란 무엇일까?
정의는 이렇다
'함수(function)는 항상 자신 안의 프로퍼티(property), 메소드(method), 변수 등에 접근할 수 있다'
function Bird() {
let hatchedEgg = 10; // 밖에서 접근할 수 없는 변수(private variable)
/* 공개된 메소드 */
this.getHatchedEggCount = function() {
return hatchedEgg;
};
}
let ducky = new Bird();
ducky.getHatchedEggCount(); // 출력값 10
이러식으로 밖에서 접근할 수 없는 것(바꾸지 못하게)에 메소드를 걸어서, closure 방식을 이용해서 보여줄 수 있다.