더북(TheBook)

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;
  }
};
};

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