[javascript] 클로저를 사용하여 데이터 파기 기능 추가하기

자바스크립트에서 클로저를 사용하여 데이터 파기 기능을 추가하는 방법에 대해 알아보겠습니다.

클로저란 무엇인가요?

클로저는 함수와 그 함수가 선언된 렉시컬 환경의 조합입니다. 클로저를 사용하면 함수가 선언될 당시의 환경을 기억하고 이 환경 내의 변수에 접근할 수 있습니다.

클로저를 사용한 데이터 파기 기능 구현하기

function createDataProcessor() {
  let data = [];

  function processData(newData) {
    data = newData;
  }

  function destroyData() {
    data = [];
    console.log('데이터가 파기되었습니다.');
  }

  function getData() {
    return data;
  }

  return {
    processData,
    destroyData,
    getData,
  };
}

const dataProcessor = createDataProcessor();

dataProcessor.processData([1, 2, 3, 4]);
console.log(dataProcessor.getData()); // [1, 2, 3, 4]

dataProcessor.destroyData();
console.log(dataProcessor.getData()); // []

위의 예제에서는 createDataProcessor 함수를 사용하여 클로저를 생성하고, 그 내부에 데이터 파기 기능을 구현했습니다.

결론

클로저를 사용하면 함수 내에서 선언된 변수를 안전하게 보호하면서 그 변수에 접근하는 기능을 외부에 노출시킬 수 있습니다. 데이터 파기나 다른 기능을 보다 안전하게 제어할 수 있게 됩니다.

이것으로 클로저를 사용하여 데이터 파기 기능을 추가하는 방법에 대해 알아보았습니다.