3.4.1 함수 주입
다음 예제는 예제 3-1을 다른 방식으로 리팩터링한다(예제 3-3과는 다른 코드 스타일임에 주목하자). 이번에는 데이터를 의존성으로 직접 받는 대신 데이터를 반환하는 함수를 매개변수로 받는다.
예제 3-4 함수를 의존성으로 전달하기
// stub-time/00-parameteres/password-verifier-time00.js
const verifyPassword3 = (input, rules, getDayFn) => {
const dayOfWeek = getDayFn();
if ([SATURDAY, SUNDAY].includes(dayOfWeek)) {
throw Error("It's the weekend!");
}
// 이곳에 다른 코드를 작성한다.
// 발견한 오류를 반환한다.
return [];
};