React-DeepDive / DeepDive

모던 리액트 딥 다이브 Repository
2 stars 0 forks source link

[1장] 클로저를 사용하는 이유 #5

Closed Whoknow77 closed 2 months ago

Whoknow77 commented 2 months ago

📝 페이지 번호 p59 ~ p69 🧐 문제 내용

클로저를 사용함으로써 얻는 이점들을 간단하게 설명해주세요.

jinsupark4255 commented 2 months ago

데이터 캡슐화

dlantjdgkgk commented 2 months ago

데이터 은닉과 캡슐화: 클로저를 통해 private 변수와 메서드를 구현할 수 있습니다. 이는 외부에서 직접 접근할 수 없는 내부 상태를 만들 수 있게 해줍니다.

function createCounter() {
  let count = 0;  // private 변수

  return {
    increment: function() {
      count++;
      return count;
    },
    decrement: function() {
      count--;
      return count;
    },
    getCount: function() {
      return count;
    }
  };
}

const counter = createCounter();
console.log(counter.increment()); // 1
console.log(counter.increment()); // 2
console.log(counter.decrement()); // 1
console.log(counter.getCount()); // 1
realzu commented 2 months ago

정보 은닉이 가능합니다.

React에서 useState hook에서도 사용하는 것처럼, 외부에서 내부의 변수에 접근이 불가능하도록 막을 수 있습니다.