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