변수를 숨기는 방법들
var를 이용하는 방법
아래의 예제에서 var를 이용하여 b를 외부로부터 숨겼습니다. var를 사용하지 않고 선언할 경우 전역으로 선언되기 때문입니다.
function f1(a) {b = a + f2(a);console.log(b);}f1(2); // 3
같은 이름을 선언하는 방법
아래의 예제는 같은 이름을 선언하여 외부의 x에 접근하지 못하도록 하였습니다.스코프 체인 성질 을 이용하여 정의되고 있는 함수의 변수 스코프에서부터 먼저 검색되기 때문에 외부의 x에 접근하기 전에 내부 블록에 x를 선언 후 정의함으로써 외부 블록의 x에 접근을 못하게 합니다.
{console.log(x); // blue{console.log(x); // redconsole.log(x); // blue}
모듈 패턴 사용
아래의 예제는 모듈화를 하여 변수에 접근가능한 함수만을 제공하여 직접적으로 변수에는 접근하지 못하게 하였습니다.
function examModule() {var another = [1,2,3];doAnother: doAnother}
'Language > Javascript' 카테고리의 다른 글
promise - 2 [Promise 사용 시 주의할 것] (0) | 2017.07.28 |
---|---|
promise - 1 [then, catch, resolve, reject] (0) | 2017.07.28 |
closure (0) | 2017.07.28 |
Scope - 2 [정적, 동적, 블록, 중첩 스코프] (0) | 2017.07.21 |
Scope - 1 [스코프란 무엇일까?] (0) | 2017.07.21 |