-
문제
function order(item, quantity, price) {// item, quantity, price 중 하나라도 입력이 되어 있지 않으면// '주문 정보를 모두 입력해주세요' 를 리턴합니다.// quantity 수량이 0이하면// '수량은 1개 이상 입력해주세요' 를 리턴합니다.// 위 두 가지 경우만 아닌 경우에만 아래와 같이 주문 완료 메시지를 출력합니다.// 이 부분에 코드를 작성해 보세요.}
console.log(order('아이폰 12', 2, 1200000));// 출력 결과: '주문이 완료되었습니다. 아이폰 12 2개를 2400000원에 구매하셨습니다.'
console.log(order('맥북 프로', -1, 2500000));// 출력 결과: '수량은 1개 이상 입력해주세요'
console.log(order('아이패드 에어', 1, null));// 출력 결과: '주문 정보를 모두 입력해주세요'내가 시도한것
function order(item, quantity, price) {if (item===true || quantity===true|| price===true){return "주문 정보를 모두 입력해주세요"}else if (quantity <= 0){return "수량은 1개 이상 입력해주세요"}else {const mony = quantity * pricereturn `주문이 완료되었습니다. ${item} ${quantity}개를 ${mony}원에 구매하셨습니다.`}}주문이 완료되었습니다. 아이폰 12 2개를 2400000원에 구매하셨습니다.
수량은 1개 이상 입력해주세요
주문이 완료되었습니다. 아이패드 에어 1개를 0원에 구매하셨습니다.3번째 결과값이 틀리게 나왔다
일단 값이 오류가 생기진 않는 것을 보아 || 논리합 연산자에서 문제가 생긴 듯하다.
item,quantity,price 값중 하나라도 false인경우에 retuern값을 돌려주고싶었다.
if (item !==true || quantity !==true|| price !==true)
이런식으로 바꿔 보았는데
역시
주문 정보를 모두 입력해주세요
주문 정보를 모두 입력해주세요
주문 정보를 모두 입력해주세요모든 답이 틀리게 나왔다.
일단 저 구문을 3개의 값중 하나라도 틀릴경우 return하는 것은 맞는 것이다.
방법을 찾던중 논리부정 연산자 (!)를 찾아내서 사용해보았다
논리부정 연산자 : 값을 반대로 바꾼다
if (!item===true || !quantity===true|| !price===true)주문이 완료되었습니다. 아이폰 12 2개를 2400000원에 구매하셨습니다.
수량은 1개 이상 입력해주세요
주문 정보를 모두 입력해주세요느낀점
내가 해야할 것을 확실히 아는 것이 가장중요한건 맞는 것같다.
그 다음으로 중요한 것은 내가 모르더라도 그 방법을 찾아 낼 수 있는 것인것같다.
코딩을 많이 해보진 않았지만, 하면 할수록 느끼는 것이
내가 모르는 것보다 모르는 것, 필요한 것을 스스로 찾아내서 해결하는 것이 매우 중요한 것 같다.
'일차 TIL' 카테고리의 다른 글
[자바스크립트] Document.querySelector() (0) 2023.05.29 [자바스크립트]Boolean 의 필요성 (2) 2023.05.28 index (인덱스)란? (0) 2023.05.23 23-05-15 ~ 23-05-19 프로젝트 KPTF (0) 2023.05.19 CRUD란? (0) 2023.05.19