Page 15 -
P. 15

●   재고가 없으면 0을 반환합니다.

                ●   어떤 상품이 할인 중이고 재고가 있다면 할인 가격을 반환합니다.
                ●    어떤 상품이 할인 중이 아니거나 할인 중이라도 할인 상품의 재고가 없다
                   면 정상 가격을 반환합니다.


               variables/let/problem.js
               01   function getLowestPrice(item) {
               02     var count = item.inventory;
               03     var price = item.price;
               04     if (item.salePrice) {
               05       var count = item.saleInventory;
               06       if (count > 0) {
               07         price = item.salePrice;
               08       }
               09     }
               10     if (count) {
               11       return price;
               12     }
               13
               14     return 0;
               15   }


              코드에 버그는 없는지 잠시 살펴보세요.

              각각의 경우 결과를 예측해보고 버그가 없는지 찾아봅시다. 혹은 테스트 꾸러
              미(test suite)를 실행해도 좋습니다. *

              버그를 발견했나요? 변수를 같은 이름의 변수에 재할당한 것이 문제였네요.

              어떤 상품이 할인 중이 아니고 재고도 없는 경우에는 item.salePrice와 count
              조건문을 건너뛰고 0을 반환합니다.






              *   역주 책에서 사용하는 예제 코드는 길벗출판사 웹사이트나 깃허브 저장소에서 내려받을 수 있습니다. ‘이 책의 활용
                법’을 참고하세요.





          028




     코딩의기술_자바_07.indd   28                                                2019-12-13   오전 10:27:03
   10   11   12   13   14   15   16   17   18   19   20