덧셈, 뺄셈, 곱셈, 나눗셈, 나머지와 거듭제곱을 사용합니다.
+, -, *, /는 기본 계산이고 %는 나눗셈의 나머지, **는 거듭제곱입니다. 증감 연산자보다 명시적인 += 1이 읽기 쉬운 경우가 많습니다.
몫이라고 적힌 줄에 3이 아니라 3.4가 찍히는 것은 JavaScript의 /가 항상 소수까지 계산하기 때문입니다. 17을 5로 나눈 정수 몫이 필요하면 Math.trunc(a / b)를 써야 합니다. 둘째 줄부터 앞에 공백이 보이는 이유는 템플릿 리터럴이 소스의 줄바꿈과 들여쓰기 공백을 그대로 문자열에 담기 때문입니다.
%의 결과는 나눠지는 수의 부호를 따릅니다. -17 % 5는 -2이고 -3 % 2는 -1이므로, 음수까지 들어올 수 있는 홀수 판별을 n % 2 === 1로 쓰면 -3을 놓칩니다. n % 2 !== 0으로 비교하면 양수와 음수 모두 맞게 판별됩니다.
0으로 나누면 오류 대신 Infinity가 나올 수 있으므로 입력 검증이 필요합니다.
직접 바꿔보세요a와 b를 바꾸고 홀짝을 %로 판별하세요.