const totalSeconds = parseInt(duration): 주어진 duration 값을 정수형으로 변환하여 totalSeconds 변수에 할당합니다. 이 변수에는 총 시간을 초 단위로 나타내는 값이 들어갑니다.
const hours = Math.floor(totalSeconds / 3600): 전체 시간을 시간 단위로 변환합니다. 3600으로 나눈 후 소수점을 버림하여 얻은 값입니다.
const minutes = Math.floor((totalSeconds % 3600) / 60): 전체 시간에서 시간을 제외한 나머지를 분 단위로 변환합니다. totalSeconds를 3600으로 나눈 후, 남은 값을 60으로 나눈 후 소수점을 버림하여 얻은 값입니다.
const seconds = parseInt(totalSeconds) % 60: 전체 시간에서 시간과 분을 제외한 나머지를 초 단위로 변환합니다. totalSeconds를 60으로 나눈 나머지 값을 구합니다.
const hh = String(hours).padStart(2, ‘0’): 시간을 두 자리로 만들어주기 위해 hours 변수를 문자열로 변환한 후, padStart() 메서드를 사용하여 두 자리로 만듭니다. 만약 한 자리 수라면 앞에 0을 채웁니다.
const mm = String(minutes).padStart(2, ‘0’): 분을 두 자리로 만들어주기 위해 minutes 변수를 문자열로 변환한 후, padStart() 메서드를 사용하여 두 자리로 만듭니다.
const ss = String(seconds).padStart(2, ‘0’): 초를 두 자리로 만들어주기 위해 seconds 변수를 문자열로 변환한 후, padStart() 메서드를 사용하여 두 자리로 만듭니다.
return hours > 0 ? ${hh}:${mm}:${ss}:${mm}:${ss}“: 시간이 0보다 크면 “시:분:초” 형식으로 반환하고, 그렇지 않으면 “분:초” 형식으로 반환합니다.