Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

익명 함수를 사용한 JavaScript 캡슐화

<시간/>

객체 지향 프로그래밍 언어는 개인 필드를 사용하여 데이터를 숨길 수 있습니다. 그들은 이것을 사용하여 클래스의 내부를 숨깁니다. JS에는 내부 작업을 숨기거나 캡슐화하는 빌드 지원이 없습니다.

JS에서 캡슐화를 제공할 수 있는 익명 기능이 있습니다. 예를 살펴보겠습니다 -

예시

const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))

위의 코드를 공개적으로 작성하면 이 코드는 이러한 이름으로 전역 네임스페이스를 오염시킬 것입니다. 대신 우리가 할 수 있는 것은 이것을 IIFE(즉시 호출된 기능 표현식)로 래핑하는 것입니다. 예를 들어,

예시

(() => {
const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))
})()

이제 이러한 변수는 기능 표현식 내에 숨겨져 있습니다. 그러나 function과 const는 더 이상 전역 네임스페이스를 오염시키지 않습니다.