ES6에서 객체 내부 변수를 은닉화하는 방법에 대해 궁금합니다.
자바스크립트를 처음 공부해보는 학생입니다. 보통 getter setter로 데이터 접근 인터페이스를 설정하면서, 내부변수는 “_propertyName” 처럼 설정해서 단순 명시적으로만 내부변수임을 표시하던데 이 “_propertyName” 자체를 원천적으로 외부에서 접근 불가능하게 만드는 방법에는 대표적으로 어떤 것들이 있나요?
55글자 더 채워주세요.
1개의 답변이 있어요!
자바스크립트에도 클래스가 있지만, 많은 다른 언어의 클래스와는 다릅니다.
자바스크립트는 상속이 클래스 기반이 아니라 프로토타입 기반입니다.자바스크립트로 은닉을 구현하려면 클로저(Closure)를 사용해야 합니다.
클로저에 대해 이해하려면 알아야 할 게 많은데... 일단은 함수 안의 함수라고 생각하면 편합니다.
생성자에서 클로저를 통해 getter/setter를 제공할 수 있습니다.