티스토리 뷰

음식값이 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);
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함