커링 호출 흐름

커링 실행 흐름

createLogger('INFO')('USER')('가입 완료')는 세 값을 동시에 처리하지 않고, 각 호출마다 다음 함수를 반환한다.

level tag msg log
1 level fixed

로그 레벨을 먼저 고정

INFO를 받은 뒤 태그를 받을 함수를 반환한다.

createLogger('INFO')

2 tag fixed

태그를 더해 로거 특화

USER까지 고정되면 메시지만 기다리는 함수가 된다.

infoLogger('USER')

3 run

마지막 인자에서 실행

메시지가 들어오면 앞에서 고정한 값과 함께 로그를 만든다.

userLogger('가입 완료')

최종 출력

[INFO] [USER]처럼 앞 호출의 값이 보존되어, 같은 로거를 여러 메시지마다 같은 접두 규칙을 반복 적용합니다.