강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김정연님의 프로필 이미지
김정연

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

if문 중첩 줄이기

4장 self-check 연이어 계산하는 계산기 질문입니다!

작성

·

230

0

4장 self-check 연이어 계산하는 계산기의 답 코드로 실행할 경우 직접 계산기에서 1, + ,2, = 까지 누르고 +, 3, = 을 눌러 최종 결과값을 얻도록 되는 것 같습니다.

 //연이어 계산하기 
             
  $operator.value = ''; // 연산자 화면 출력값 없애기 
  numOne = $result.value; //numOne에 앞의 계산값 넣기
  operator = ''; //연산자 변수 비우기
  numTwo = '';

혹시 중간에 =을 누르지 않고 연달아서 1,+,2,+,3,= 을 눌러 최종종 결과값을 얻도록 하려면 다음 코드 부분이 = 버튼을 눌렀을 때(이벤트가 발생했을 때) 계산하도록 리스너함수를 넣었기 때문에 하단 코드를 수정하는 것이 아닌 다른 코드를 작성해야 하는걸까요?

 //= 계산 구현 - 문자열에 따라 다른 연산자 사용하도록 분기
        document.querySelector('#calculate').addEventListener('click',() => {
            if(numTwo){ //numTwo까지 존재한 상태일 경우
                switch(operator){
                    case '+':
                        $result.value = parseInt(numOne) + parseInt(numTwo); // 더하여 결과 출력
                        break;
                    case '-':
                        $result.value = parseInt(numOne) - parseInt(numTwo);
                        break;
                    case '*':
                        $result.value = parseInt(numOne) * parseInt(numTwo);
                        break;
                    case '/':
                        $result.value = parseInt(numOne) / parseInt(numTwo);
                        break;
                    default:
                        break;
                }//end switch

감사합니다!

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 두 번째 +가 눌릴 때도 사실상 1+2 결과를 수행해야하므로 + - 등 두 번째 연산일 때 계산하는 코드를 넣어주셔야 합니다.

김정연님의 프로필 이미지
김정연

작성한 질문수

질문하기