안녕하세요~ 그랩 선생님ㅎㅎ
공부하다 도저히 이해가 안되서 질문해봅니다ㅜ
짝수만 나오게 하는 반복문입니다.
for (i=0; i<11; i++) {
if(i % 2 !== 0){
continue;
}
console.log(i);
}
이 코드인데 (i % 2 !== 0) 이부분이 잘 이해가 안되는게 i=4일때 나머지가 2인데 왜 continue가 안되나요??
안녕하세요~ 그랩 선생님ㅎㅎ
공부하다 도저히 이해가 안되서 질문해봅니다ㅜ
짝수만 나오게 하는 반복문입니다.
for (i=0; i<11; i++) {
if(i % 2 !== 0){
continue;
}
console.log(i);
}
이 코드인데 (i % 2 !== 0) 이부분이 잘 이해가 안되는게 i=4일때 나머지가 2인데 왜 continue가 안되나요??
스터디 게시판에 글이 남겨져 있길래 지나가는 길에 답글 달아 봅니다.
아무래도 나머지의 개념부터 잡고 가셔야 할 거 같은데, 나머지는 나눌 수 있는 만큼 나누고
더 이상 나눌 수 없어서 남은 수를 나머지라고 합니다.
따라서 4/2 는 0이죠. 2로 두번 나누고 나면 0이 남으니까요.
답글
한경수
2021.07.01 오후 11:39답변 감사합니다🙇
for 문 안에 있기 때문에 if조건이 계속 반복 되는 걸까요??
밤의멜로디
2021.07.01 오후 11:44{} 을 스코프 혹은 블록이라고 표현하는데 반복문의 두번째인자의 조건이 만족할때까지는
블록 안의 내용을 반복문의 횟수만큼 반복 합니다.
한경수
2021.07.01 오후 11:56아~ 그럼 i가 4일때는 if scope가 4번 반복되는건가요?? 와 놀라운 사실이네요!!
감사합니다 밤의 요정!!
밤의멜로디
2021.07.02 오전 12:11i가 4인개 아니라 for문의 2번째 인자의 조건에 따라 달라집니다.
for문에 대해 다시 한번 복습하시는 것이 좋을 듯 싶습니다.
제가 이 강의를 들은 게 아니라 잘은 모르겠지만 코드만 봐선 자바스크립트 같은데(조건 비교 !==, 콘솔 로그 console.log),
자바스크립트 for문은 인자가 순서대로 시작점, 조건, 조건2 입니다.
위의 작성하신 코드를 보면 1부터 시작해서 11이 되기 전까지 반복문을 돌 것이며 매 반복문 바다 i를 하나씩 증가하겠다는 코드 입니다.
따라서 i가 4라면 4부터 11까지 총 6번만을 반복하게 됩니다.
반복문 조건에 대한 정확한 이해가 없으시면 문제를 푸실때 많은 어려움을 겪으실 수 있습니다.
아마 제가 아까 남긴 글의 오해의 소지가 있었던 듯 싶은데 {} 이란 것은 for문의{}을 이야기 한 것 입니다. if문의 {} 가 아닙니다.
hyunbenny
2021.07.02 오전 12:13저도 지나가다 보게 됐는데 덧붙이자면...
반복문을 i가 1일 때부터 10까지 1씩 증가하면서 반복하는데
i를 2로 나눈 나머지가 0이 아닐 경우 continue를 수행(반복문의 마지막으로 간 후 다음 반복을 수행)하게 되고
i를 2로 나눈 나머지가 0일 경우(짝수인 경우)는 if문의 조건에 부합하지 않기 때문에 continue를 수행하지 않고 밑으로 내려가 console.log(i)를 수행하게 됩니다.
한경수
2021.07.02 오전 12:33답변 너무 감사합니다. 정말 고맙습니다
저 소름끼치는게 있어요..ㅜ
% 연산을 제가 나누기로 착각하고 있었습니다ㅜㅜ 너무 죄송스럽네요. ㅜㅜㅜㅜ
공부열심히 할게요ㅜ 많은 관심 너무 감사해요