5.1.1 콜백 함수를 사용한 코드의 작성과 테스팅
2장에서 등장한 승현은 곧 개최될 자바스크립트 콘퍼런스 웹 사이트의 담당 개발자다. 이야기를 이어가자면, 이제 그는 콘퍼런스 자원봉사자가 사용할 참가자 체크인 화면을 구현해야 한다. 이 신규 화면은 참가자 목록을 보여주고 그중 한 사람 또는 여러 사람을 선택(체크인한 것으로 표시)한 뒤 외부 시스템과 연동하여 체크인을 완료한다. UI 배후의 체크인 기능은 checkInService 함수에 구현하기로 했는데, 이것이 바로 승현이 할 업무다.
참가자 체크인 여부를 비롯한 각종 정보를 Conference.attendee 함수가 생성한 객체에 담아두면 참가자 체크인 뒤처리는 checkInService의 몫이다. Conference.attendee는 일 잘한다고 소문난 동료 개발자 샬럿이 만들었고 전체 테스트 꾸러미까지 작성한 터라 승현은 그냥 잘 작동하리라 넘겨짚는다.
var Conference = Conference | | {}; Conference.attendee = function(firstName, lastName) { var checkedIn = false, first = firstName | | ‘None’, last = lastName | | ‘None’; return { getFullName: function() { return first + ’ ‘ + last; }, isCheckedIn: function() { return checkedIn; }, checkIn: function() { checkedIn = true; } }; };