이제 numOne 변수에 저장한 후 + 버튼을 누르면 +가 operator 변수에 저장됩니다. 그런 후 2를 누르면 operator 변수에 값이 저장되어 있으므로(+) numTwo 변수에 2가 저장됩니다. 마지막으로 = 버튼을 누르면 numOne 변수에 저장된 1과 numTwo 변수에 저장된 2를 operator 변수에 저장된 +로 계산합니다.
여기서 끝이 아닙니다. 다양한 경우의 수를 생각해 순서도의 완성도를 높여야 합니다. 이번에는 10 - 5를 생각해 봅시다. 먼저 1을 누르면 1은 numOne 변수에 저장됩니다. 그다음에 0을 누르면 operator 변수에 값이 저장되어 있지 않으니 0도 numOne 변수에 저장해야 합니다. 하지만 numOne에는 이미 1이 저장되어 있는데 어떻게 0을 추가로 저장할 수 있을까요? 단순히 1에 0을 더한다고 하면 1 + 0 = 1이라 그저 1이 됩니다. 이럴 때는 2장에서 배운 자바스크립트 문법을 떠올려 보면 됩니다.
먼저 하나의 변수에 여러 값을 저장할 때 사용한 배열이 있습니다. 처음 1을 저장할 때 [1]로 저장하고, 그다음 0을 저장할 때 두 번째 요소로 추가해 [1, 0]으로 저장할 수 있습니다. 그리고 배열에서 제공하는 join() 메서드를 사용해 배열의 요소들을 문자열로 합친 후 숫자로 바꾸면 됩니다.
[1, 0].join('') === '10'
Number([1, 0].join('')) === 10