let todoItems: Todo[];
     
    function fetchTodos(): Todo[] {
      const todos = fetchTodoItems();
      return todos;
    }
     
    function addTodo(todo: Todo): void {
      todoItems.push(todo);
    }
     
    function completeTodo(index: number, todo: Todo): void {
      todo.done = true;
      todoItems.splice(index, 1, todo);
    }
    // ...

    인터페이스를 활용하니 이제 { id: number; title: string; done: boolean } 코드를 반복해서 입력하지 않고 Todo라는 타입으로 정의할 수 있게 되었습니다. 이렇게 되니 함수를 동작시키는 코드에 더 집중할 수 있게 되었고 코드 가독성도 한결 나아진 것 같습니다. 인터페이스는 다음 장에서 좀 더 자세히 알아볼 예정입니다.

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