더북(TheBook)

스코프는 중첩 함수로 다스린다

C#/자바는 클래스 안에 다른 클래스를 둘 수 있다. 물론 자주 쓰는 기법은 아니다. 심지어 마이크로소프트사는 “중첩된 타입은 감춰야 한다(CA1034) ”는 경고까지 했다. 즉, “중첩된 타입은 멤버 접근성(member accessibility)이란 의미가 함축되어 있어서 개발자가 분명히 인식하지 못할 수 있다 ”는 말이다(https://msdn.microsoft.com/enus/library/ms182162.aspx).

자바스크립트는 클래스가 없지만, 함수를 중첩하여 코드를 계층화할 수 있다. 덕분에 개발자가 원하는 것을 찾는 데 도움이 될 뿐만 아니라 프로그램에서 변수/함수의 스코프를 최소화할 수 있다. 바로 이러한 특성이 대규모 시스템을 효과적으로 유지하는 핵심이자 자바스크립트 코드의 탁월한 근본 요소다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.