본문 바로가기

과거공부모음

클로저

클로저는 프로그래밍 언어에서 일반적으로 함수화 그 함수가 참조하는 외부 변수를 결합한 개념

클로저는 함수가 정의된 시점의 외부 변수에 대한 참조를 유지하고 이를 나중에 호출할 때 사용 가능

함수가 외부 스코프에서 선언된 변수를 계속 참조할 수 있다

 

클로저를 사용하는 사례

 

  1. 데이터 은닉 : 클로저를 사용하여 함수 외부에서 접근할 수 없는 비공개 변수를 만들 수 있다 이를 통해 변수를 캡슐화하고 외부에서 변경을 제한할 수 있다
function createCounter() {
  let count = 0;

  return function() {
    count += 1;
    return count;
  };
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2



  1. 이벤트 핸들러 및 콜백 : 클로저를 사용하여 이벤트 핸들러나 콜백 함수에 상태를 유지할 수 있다
function handleClick(id) {
  return function() {
    console.log('Clicked element with id:', id);
  };
}

const button1 = document.getElementById('button1');
const button2 = document.getElementById('button2');

button1.addEventListener('click', handleClick('button1'));
button2.addEventListener('click', handleClick('button2'));

'과거공부모음' 카테고리의 다른 글

HTTP와 HTTPS  (0) 2023.04.17
call by value와 call by reference  (0) 2023.04.17
async/await  (0) 2023.04.17
프로미스(Promise)  (0) 2023.04.17
프로세스(Process)와 스레드(Thread)  (0) 2023.04.14