혼자 고민해보기_ 개발/TIL (Today I Learned)

20230526(토)_ 바닐라 자바스크립트 공부, 예제 풀기

nuri-story 2023. 5. 27. 21:41

금일 달성 항목

1) 노마드 코너 바닐라 JS로 크롬웹 만들기 50% 달성

2) 자바스크립트 예제 팀원과 같이 풀기

 


문제 해결 과정 1 - 자바스크립트 예제

[문제]

// 아래의 결과와 같이 출력되도록 함수를 완성해 보세요.

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 || !quantity || !price ){
        console.log('주문 정보를 모두 입력해주세요.')
    } else if(quantity <= 0) {
        console.log('수량은 1개 이상 입력해주세요.')
    } else {
        console.log(`주문이 완료되었습니다. ${item} ${quantity}개를 ${quantity*price}에 구매하셨습니다.`)
    }
}

order('아이폰 12', 2, 1200000);
// 출력 결과: '주문이 완료되었습니다. 아이폰 12 2개를 2400000원에 구매하셨습니다.'

팀원과 같이하여 수월하였습니다.

 

해결 순서

1) item, quantity, price 중 하나라도 입력이 되어 있지 않으면 '주문 정보를 모두 입력해주세요' 리턴합니다. 라는 조건을 맞추기 위해 if문에 !의 부정기호를 넣어 조건을 만들었습니다.

 

2) 'quantity 수량이 0 이하이면 수량은 1개 이상 입력해주세요'라는 조건을 위해  <=0 조건을 추가하였습니다.

 

3) 출력 결과 값이 ('아이폰 12', 2, 1200000);되어야하므로 `주문이 완료되었습니다. ${item} ${quantity}개를 ${quantity*price}에 구매하셨습니다.`로 조건을 충족하였습니다.

 

* return을 해주지 않아도 결과값이 나옵니다!

 

[알게 된 점]

혼자하면 너무 어렵고 시도도 못하겠는데, 팀원이랑 같이 조금씩 풀어가고 있습니다. 뭉치면 뭐라도 되는구나를 알게 되었습니다.

 


문제 해결 과정 2 - 에러 해결

[문제]

바닐라 자바스크립트 강의를 듣는데 순간 아래 오류가 떴고 새로고침했을때 404 오류도 갑자기 계속 나타났습니다.

 inject.js loaded

 

[시도 및 해결]

파일이 사라져서 열수 없다는 식의 경로 문제로 보였습니다. 

https://www.exefiles.com/ko/js/inject-js/

 

Inject.js 에러를 다운로드하고 고치는 3단계

실행타임 에러 프로그램: C:\Program Files (x86)\Adobe\Adobe Creative Cloud Experience\js\node_modules\request\node_modules\async\Inject.js 이 앱이 특이한 방식으로 종료하고자 실행시간을 요청하였습니다. 기타 자세한

www.exefiles.com

 

위 내용은 윈도우 해결방안이라 맥북용을 계속찾아보았는데요.

 

그러다 우연히 제가 파일을 정리하다가 폴더명을 똑같이 지정한 것이 있던걸 보았습니다. 예를들어 sparta>sparta 스파르타 폴더안에 또 똑같은 스파르타라는 폴더가 있었던 것이죠. 그래서 그 폴더명을 변경하였습니다.

그리고 폴더 삭제후 다시 생성 (역시 삭제 후 재설치가 최곤가;)하니 해결되었습니다.

 

[알게 된 점]

폴더명을 신중히 작성해야겠다고 생각했습니다. 정리하고 찾아보기 쉽도록.