더북(TheBook)

배열보다 더 단순한 방법도 있습니다. 문자열은 서로 더하면 이어지는 성질이 있습니다. ‘자바’ + ‘스크립트’가 ‘자바스크립트’이듯이 ‘1’ + ‘0’도 1이 아니라 ‘10’입니다. 애초에 numOnenumTwo 변수에 숫자가 아니라 문자열을 저장한다면 숫자 버튼을 여러 번 클릭해도 쉽게 더할 수 있습니다. = 버튼을 클릭해 계산할 때 numOnenumTwo의 값을 숫자로 바꾸면 됩니다.

이처럼 같은 내용도 여러 방식으로 구현할 수 있습니다. 방식마다 성능은 다를 수 있지만, 입문 단계이니 성능보다는 구현을 먼저 생각하세요.

이번에는 숫자를 누르지 않고 연산자 버튼이나 = 버튼을 먼저 누른 경우를 생각해 봅시다. 이럴 때는 경고 메시지를 띄우는 게 좋겠습니다. 경고 메시지를 띄울 때는 alert() 메서드를 사용합니다.

연산자 버튼을 누를 때는 numOne 변수에 값이 저장되어 있는지 확인하고, = 버튼을 누를 때는 numTwo 변수에 값이 저장되어 있는지 확인하면 됩니다. 사실 = 버튼을 누를 때 numOne, operator, numTwo 변수에 모두 값이 저장되어 있어야 하지만, numOne이나 operator 변수의 값이 없다면 numTwo 변수에는 값이 있을 수 없습니다. numOne 변수에 값이 저장되어 있을 때 operator 변수에 연산자를 저장할 수 있고, operator 변수에 값이 저장되어 있을 때 numTwo 변수에 숫자를 저장하니까요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.