음식값이 50에서 300사이면 음식값의 15%로 팁을 지불하고 이외에는 음식값의 20%로 팁을 지불해야 한다.
이후 총액(total)인 음식값 + 팁을 구한다.
문제상황:
total이 숫자가 아닌 NaN이 떴다.
const bill = 275;
const tip = function(bills){
if(bill>=50 && bill<=300) {
console.log(bill*0.15)
} else {
console.log(bill*0.2)
}
}
const tips = tip(bill);
const total = bill + tips;
console.log(total);
해결 방법:
문제가 요구하는 바는 함수를 통해 결과값을 받아오고 이를 다시 출력하는 과정인데, 나는 함수에서 바로 출력하는 코드를 짰었다.
✔ 함수 내에서 결과값을 출력하는 것이 아니라 return 해주어야 한다.
const bill = 275;
const tip = function(bills){
if(bill>=50 && bill<=300) {
return bill*0.15;
} else {
return bill*0.2;
}
}
const tips = tip(bill);
const total = bill + tips;
console.log(total);
아래의 코드는 위 코드를 간단히 해결해 주는 코드이다.
const bill = 275;
const tip = bill>=50 && bill<=300 ? bill*0.15 : bill*0.2;
const total = bill + tip;
console.log(total);
'Language > JavaScript' 카테고리의 다른 글
[Javascript] 삼항 연산자 (0) | 2022.06.29 |
---|---|
[Javascript] 객체 object (0) | 2022.06.29 |
[Javascript] 화살표 함수 (0) | 2022.06.28 |
[Javascript] append() 와 appendChild() 차이 (+ prepend) (0) | 2022.06.24 |
[JavaScript] for...in문, for...of문, forEach문 (0) | 2022.06.24 |