Community

[클로저와 면접 이야기]

유니콘 기업 무xx 입사 면접에서 클로저에 대해 설명하라는 질문을 받았었다. 그때는 모던 자바스크립트 튜토리얼(http://ko.javascript.info) 프로젝트를 런칭한 시점이었고, 면접 준비도 잘 해뒀기 때문에 무리 없이 답변했던 기억이 난다. 그런데 마지막 질문에서 면접관님이 "JS에서 이것만은 알아아야 한다는 게 있나요? 같이 일하는 동료가 이것만큼은 알아야 한다고 생각하는 지식이요"라는 질문을 하셨던 게 기억난다. 그때 내 대답은 클로저였다. 이유는 JS 생태계는 너무 복잡하고 한 프로젝트당 파일도 수십, 수백 개인 데다가 의존하는 패키지들이 너무 많기 때문에 변수의 유효범위를 알지 못하면 여러 가지 문제가 발생하기 때문에 클로저는 알아두는 게 좋다고 대답하였다. 당시는 경험에 의거해 이런 답변을 했었는데, You Don't Know JS Yet에는 논리적으로 왜 클로저가 좋은 프로그램을 짜는 데(설계 측면에서) 필요한 개념인지 설명하고 있다. 아래는 YDKJSY에 나온 관련 내용이다. > 클로저는 프로그래밍에서 가장 중요한 언어 특성 중 하나입니다. 클로저는 함수형 프로그래밍, 모듈, 심지어는 클래스 지향 설계를 비롯한 주요 프로그래밍 패러다임의 근간을 이룹니다. JS를 마스터하고 중요한 디자인 패턴을 코드 전반에 걸쳐 효과적으로 활용하려면 클로저에 익숙해지는 게 중요합니다. You Don't Know JS Yet은 빠르면 올해, 늦어도 내년초에는 출간 예정이다.

알림

알림이 없습니다