Page 16 -
P. 16

variables/let/let.spec.js
                   const item = {
                     inventory: 0,
                     price: 3,
                     salePrice: 0,
                     saleInventory: 0,
                   };


                  다음으로 할인 중이고 할인 상품의 재고가 있는 경우에는 할인 가격을 반환합
                  니다. 이 경우 2를 반환합니다.


                   variables/let/let.spec.js
                   const item = {
                     inventory: 3,
                     price: 3,
                     salePrice: 2,
                     saleInventory: 1,
                   };


                  끝으로 할인 중이지만 할인 상품 재고가 없는 경우에는 정상 가격인 3을 반환
                  해야 합니다. 그렇지만 실제로 반환하는 값은 0입니다.


                   variables/let/let.spec.js
                   const item = {
                     inventory: 3,
                     price: 3,
                     salePrice: 2,
                     saleInventory: 0,
                   };


                  계속 혼란스러운가요? 괜찮습니다. 이 버그는 까다로우니까요. 2행에 선언한

                  변수 count가 문제입니다. 할인 가격이 있으므로 다음 if 블록으로 넘어갑니다.
                  이때 5행에서 변수 count를 다시 선언합니다. 여기서 문제가 되는 것은 할인 상






                                                             1장  변수 할당으로 의도를 표현하라  029




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