- 사용자가 입력한 문자열 값에 따라 사칙연산을 수행할 수 있는 계산기를 구현
- 예를 들어 "2 + 3 x 4 / 2"와 같은 문자열을 입력할 경우 2 + 3 x 4 / 2 실행 결과인 8을 출력
- 사칙 연산의 우선순위를 적용
(
x,/는 1순위,+,-는 2순위) - 피그마에 맞춰 프론트엔드를 구현
- 키패드에서 숫자를 입력하거나
=나,-,/,*를 입력하면 동작 - 클릭해도 동작
- 키패드에서 숫자를 입력하거나
figma에 올라온 UI에 맞춰서 디자인
이 계산기는 다음과 같은 주요 기능들을 제공합니다.
- 사칙연산 지원: 덧셈(+), 뺄셈(–), 곱셈(×), 나눗셈(÷)을 사용 가능
- 연산 순서 준수: 곱셈(×)과 나눗셈(÷)을 덧셈(+)과 뺄셈(–)보다 먼저 계산하는 연산 순서 규칙 (예:
1 + 2 × 3 = 7) - 소수점 계산: 소수점을 포함한 숫자(예:
1.1,2.5)를 입력하고 계산 가능. - 0으로 나누기 오류 처리: 0으로 나누기를 시도할 경우, 사용자에게 경고 메시지를 표시하고 계산기를 초기화.
- 입력 오류 방지:
- 선행 연산자 방지: 계산식의 맨 처음에 연산자(+, –, ×, ÷)를 입력할 수 없음.
- 연속 연산자 방지: 연산자 뒤에 바로 다른 연산자를 입력할 수 없음. (예:
1++2,1+-2와 같은 입력을 방지함.) - 선행/후행 소수점 방지: 계산식의 맨 처음이나 연산자 직후에 소수점(.)을 입력할 수 없음. (예:
.1,1+.과 같은 입력을 방지함.) - 다중 소수점 방지: 하나의 숫자에 여러 개의 소수점을 입력할 수 없음. (예:
1.2.3과 같은 입력을 방지함.)
- 백스페이스 기능:
<버튼을 누르거나Backspace키를 눌러, 마지막에 입력한 문자를 지울 수 있음. - 전체 초기화:
AC버튼을 누르거나Escape또는Delete키를 눌러, 계산기의 모든 입력과 결과를 초기화할 수 있음. - 마우스 및 키보드 입력 지원: 마우스 클릭뿐만 아니라, 키보드를 사용하여 숫자와 연산자를 입력하고 계산을 수행할 수 있음.
- 숫자 :
0~9 - 연산자 :
+,-,*,/ - 소수점 :
. - 계산 :
Enter,= - 전체 초기화 :
Escape,Delete - 백스페이스 :
Backspace
- 숫자 :
- 계산 오류 방지: 잘못된 계산식일 경우 사용자에게 경고하고, 계산기 초기화.
- 코드 가독성:
console.log를 적절하게 활용하여, 코드의 흐름을 확인 가능.
