function hey() {
let count = 1;
if (count % 2 == 0) {
alert('짝수')
} else {
alert('홀수')
}
count += 1;
}
count는 1
카운트를 2로 나눴을 때 나머지가 0이면 '짝수
아니면 홀수
= count + 1; (현재 카운트에 +1 해서 다시 카운트에 넣기)
👇🏻
1 ÷ 2, 즉 나머지가 1이므로 처음값은 '홀수'
count(나머지 1)+1 = 2
2 ÷ 2 = 0 짝수
결과는?
'홀수'와 '짝수' 팝업이 나란히 뜨지 않고 '홀수'만 뜸
function hey() {
let count = 1;
if (count % 2 == 0) {
alert('짝수')
} else {
alert('홀수')
}
count += 1;
}
let count = 1;가 함수(function)안에 있기 때문에 coumt += 1;의 명령을 초기화 시켜버리기 때문.
let count = 1;
function hey() {
if (count % 2 == 0) {
alert('짝수')
} else {
alert('홀수')
}
count += 1;
let count = 1;을 함수에서 분리해 그 위에 적어주면 count += 1; 명령이 정상적으로 작동하여 홀짝순으로 alert이 실행되는 것을 확인할 수 있다.
Ⅰ.count(1)를 2로 나누는데 나머지가 왜 나오지?
"그것이 '나머지 구하기'니까."
당연히 소수점까지 나누어야 된다는 오류를 범해서 계속 이해가 안 갔던 것
Ⅱ.왜 '짝홀'순이 아니라 '홀짝'순으로 출력되는가?
count(1) ÷ 2의 나머지는 1
⇨ count += 1;이 붙었으니 나머지(1)에 1을 더함
⇨ 최종값은 2이므로 짝수
(나의_이해_매커니즘.txt)
마지막 count += 1;은 최종값에 포함되는 게 아니라 다시 처음으로 돌아가서 let count = 1;과 이어지는 것
⇨ 나머지가 1-0이 반복되므로 홀짝순으로 출력