Javascript : 개인 기능의 중첩 - 좋든 나쁨?


Answers

두 번째 예를 피할 것입니다. privateFn1 이 호출 될 때마다 privateFn1 가 다시 정의 privateFn2 . 한번 해보지 않으시겠습니까? 나중에 다른 곳에서 사용해야 할 수도 있습니다.

그러나 privateFn2 를 숨기고 privateFn2 더 좋은 해결책은 다음과 같습니다.

var privateFn1 = (function () {
    function privateFn2() {
        // ...
    }

    return function () {
        privateFn2();
        // ...
    };
})();
Question

나는이 구조를 자주 사용한다.

var example = (function () {
    function privateFn2 () {
       ...
    }
    function privateFn1 () {
       ...
    }
    return {
        publicMethod1: function () {...
        },
        publicMethod2: function () {...
        }
    };
}());

제가 알고 싶은 것은 이것입니다 : privateFn1이 privateFn2를 호출하는 유일한 함수 / 메소드라면, 다음과 같이 설정하는 것이 더 나은 방법으로 간주됩니까?

명확성을 위해 편집 됨

var example = (function () {
    function privateFn1() {
        function privateFn2() {
        }
        ...
        privateFn2();
    }
    return {
        publicMethod1: function () {...
        },
        publicMethod2: function () {...
        }
    };
}());

물론 이것은 매우 단순화 된 예입니다. 문제는 제가 개인적인 기능이 많이 있다는 것입니다. 그리고 중첩이 잘되었는지 잘 모르는지 궁금합니다. 나는 그것이 아마도 선호도의 문제라고 생각하지만 조언은 감사하게 받아 들여질 것이다.

감사.