웹 개발 메모장

[자바스크립트] 내부함수 본문

옛날../자바스크립트

[자바스크립트] 내부함수

도로롱주 2018. 1. 3. 08:37




내부 함수



자바스크립트에서는 함수가 재선언이 가능합니다. 따라서 함수 이름을 만들 때 주의가 필요합니다.


예를 들어 다음과 같은 상황이 발생할 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 내가 calc 라는 함수를 정의
function calc(a, b) {
    return a + b;
}
 
// 홍길동이 calc 라는 함수를  정의
function calc(a, b) {
    return a * b;
}
 
//내가 sum 이라는 함수 정의
function sum(a,b,c,d) {
    // 내가 calc 함수를 호출
    return calc(a,b) + calc(c,d);
}
cs


이와 같이 다른 사람과 함께 작업을 할 경우 의도치 않은 재선언이 일어날 수 있습니다.


물론 이름이 겹치지 않도록 사람들과 미리 이야기를 해놓아도 되지만 위와 같은 경우


1
2
3
4
5
6
function sum(a,b,c,d) {    
    function calc(a, b) {
        return a + b;
    }
    return calc(a,b) + calc(c,d);
}
cs


이런 식으로 내부 함수를 사용하면 해당 함수 밖에서 정의한 함수와 충돌이 일어나지 않습니다.



Comments