
- 이 실습 프로젝트는, 사람의 이상적인 수면시간보다 덜 잤을 때, 나오는 "sleep debt" 를 계산해보자는 실습이다.
- 사람마다 가지고 있을 수면빚을 바탕으로, 저번주에 얼마나 취침시간을 지켜왔는지. 파악해보는 것이다.
// 요일마다 수면시간을 구하는 함수 getSleepHours()
const getSleepHours = (day) => {
if (day === 'monday'){
return 8
} else if (day === 'tuesday'){
return 7
} else if (day === 'wednesday'){
return 6
} else if (day === 'thursday'){
return 7
} else if (day === 'friday'){
return 6
} else if (day === 'saturday'){
return 6
} else if (day === 'sunday'){
return 5
}
}
console.log(getSleepHours('tuesday'));
// 일주일 동안의 실질적인 수면시간의 합을 구하는 함수 getActualSleepHours()
// 한 줄로 되어있는 문장이라서 {} 문을 제거했다. (+ return문까지)
const getActualSleepHours = () => getSleepHours('monday') + getSleepHours('tuesday') + getSleepHours('wednesday') + getSleepHours('thursday') + getSleepHours('friday') + getSleepHours('saturday') + getSleepHours('sunday')
;
console.log(getActualSleepHours());
// 이상적인 수면시간을 구하는 함수 getIdealSleepHours(), 하루 기준이기에, x7(일주일=7일)을 한다.
const getIdealSleepHours = () => {
const idealHours = 7.5;
return idealHours * 7;
}
console.log(getIdealSleepHours());
// calculateSleepDebt()는, 실질 수면시간과 이상적 수면시간의 비교를 해주는 함수.
// 기존에 작성했던 함수들을 모두 사용하는 함수이다.
const calculateSleepDebt = () => {
const actualSleepHours = getActualSleepHours()
const idealSleepHours = getIdealSleepHours()
if (actualSleepHours === idealSleepHours){
return 'Your Sleep Hour is Perfect!'
} else if (actualSleepHours > idealSleepHours){
return 'Your Sleep Hour is Excessive! You need to reduce your sleep hour'
} else if (actualSleepHours < idealSleepHours){
return 'Your Sleep Hour is lack! You need to increase your sleep hour'
}
}
console.log(calculateSleepDebt());
**(결과값 화면)**

- getActualSleepHours() 함수에서, '+' 연산자를 활용한 계산없이도 가능하다.
const getActualSleepHours = () => 8 + 7 + 6 + 7 + 6 + 6 + 5;
- 코드에서 getIdealSleepHours() 시간을 정해주는 것이 아닌, 사용자가 입력했을 때, 계산되는 방식은 어떻게 구현할까?
const getSleepHours = (day) => {
if (day === 'monday'){
return 8
} else if (day === 'tuesday'){
return 7
} else if (day === 'wednesday'){
return 6
} else if (day === 'thursday'){
return 7
} else if (day === 'friday'){
return 6
} else if (day === 'saturday'){
return 6
} else if (day === 'sunday'){
return 5
}
}
console.log(getSleepHours('tuesday'));
const getActualSleepHours = () => getSleepHours('monday') + getSleepHours('tuesday') + getSleepHours('wednesday') + getSleepHours('thursday') + getSleepHours('friday') + getSleepHours('saturday') + getSleepHours('sunday')
;
console.log(getActualSleepHours());
const getIdealSleepHours = idealSleepHours => idealSleepHours * 7
const calculateSleepDebt = () => {
const actualSleepHours = getActualSleepHours()
// 사용자가 희망하는 이상 수면시간을 직접 적는 방식
const idealSleepHours = getIdealSleepHours(8)
if (actualSleepHours === idealSleepHours){
return 'Your Sleep Hour is Perfect!'
} else if (actualSleepHours > idealSleepHours){
return 'Your Sleep Hour is Excessive! You need to reduce your sleep hour'
} else if (actualSleepHours < idealSleepHours){
return 'Your Sleep Hour is lack! You need to increase your sleep hour'
}
}
console.log(calculateSleepDebt());
**(결과값 화면)**
