옛날../자바스크립트
[자바스크립트] 내부함수
도로롱주
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 |
이런 식으로 내부 함수를 사용하면 해당 함수 밖에서 정의한 함수와 충돌이 일어나지 않습니다.