- 코드를 불필요하게 중복해서 작성하지 않고 컴퓨터에게 의도한 만큼 같은 동작을 반복하게 하는 방법이 반복문이다.코드를 간결하게 작성할 수 있는 장점이 있다.
- 반복문 본문이 한번 실행되는 것을 iteration(이터레이션)이라고 부른다.
- 조건이 truthy인 동안 반복해서 코드가 실행되고, 조건이 falsy가 되면 종료된다.
// 1부터 5까지의 수를 모두 더하는 코드
let result = 0;
for (let i = 1; i <= 5; i++) {
result = result + i ;
}
console.log(result); //15
초기값(begin) : 증감식 반복횟수를 카운트하는 역할을 하는 변수, 이 때 변수는 정수를 의미하는 ‘integer’의 약자인 i를 주로 사용한다. 반복문의 코드블록 내부에서만 유효하다.
조건식(condition) : 코드블록 내부의 코드를 실행 여부를 결정한다. true인 경우 코드를 실행하고, false인 경우 반복문을 종료한다. / 비교뿐만 아니라 표현식, 변수가 모두 올수있고, 평가되어 불린값으로 변경된다.
증감식(step) : 코드블록 내부의 코드를 실행한 후 초기값으로 선언된 변수를 증가 또는 감소시키기 위한 표현식이다.
i <= 5는 true로 평가된다.result = 0 + 1 이 실행되어 1이 출력된다.i=2 가 된다.result = 1 + 2가 되어 3이 출력된다.i <= 5가 false로 평가되어 반복문이 종료된다. console.log(result)가 실행되어 15를 출력한다.for (let i = 0; i <= 10; i++) { ... } // 인라인 변수 선언
let num = 0;
for(num=0; num <=10; num++( {...} // 정의된 변수를 사용할 수도 있다.
//-> 이 떄 이미 num이 선언되고 할당되어 있으므로 초기값을 생략해서 적을 수도 있다.
for(; num <=10; num++) {...} i++ : 다른 연산을 수행하고 증가, i+=1, i=i+1 과 같은 의미이다.i-- : 다른 연산을 수행하고 감소, i-=1, i=i-1과 같은 의미이다.++i : 증가하고 다른 연산을 수행--i : 감소하고 다른 연산을 수행let i = 1;
result = i++ ; // i의 값을 1 증가시킨다. // 2
rewult = i-- ; // i를 1 감소시킨다. // 0
rewult = ++i ; // i의 값을 1 증가시키고, ++i의 값도 1 증가한다. // 3
rewult = --i ; // i를 1 감소하고 --i 자신도 1 감소한다. // -1
let num = 3;
if(num >= 2 && num <=9) {
for (let i = 1; i <= 9; i++) {
console.log(num = i);
}else{
console.log('2와 9 사이의 수를 입력하세요.');
}
indexOf())와 문자열의 길이(length())를 이용해야 한다.i <= str.length - 1 (또는 i < str.length)로 조건식을 작성하면 문자열의 끝까지 순회하는 반복문이 된다.//주어진 문자열의 문자들 중, 인덱스가 짝수인 문자만 출력하는 코드
let str = 'hello JavaScript world!'
for (let i =0; i < str.length; i++) { //주어진 문자열을 반복하는 코드
if (i % 2 === 0) { // 짝수 인덱스를 골라내는 조건문
console.log (str.[i]); //골라낸 짝수 인덱스번호의 문자를 출력
}
}
for (let i = 0; i <=2; i++) {
for ( let j = 0; j <=2; j++) {
console.log(`i는 ${i}, j는 ${j} 입니다.`);
}
}
// i는 0, j는 0입니다.
// i는 0, j는 1입니다.
// i는 0, j는 2입니다.
// i는 1, j는 0입니다.
// i는 1, j는 1입니다.
// i는 1, j는 2입니다.
// i는 2, j는 0입니다.
// i는 2, j는 1입니다.
// i는 2, j는 2입니다.

외부 반복문의 초기화와 조건식 평가 후 내부반복문이 실행된다. → 내부반복문의 초기화와 조건식평가, 내부코드가 실행되고 반복하다 내부조건식이 false가 되면 종료하고 다시 외부반복문의 증감식과 조건식평가가 이루어진다. 증감후 외부반복문의 조건식이 true이면 다시 내부반복문을 순환한다.외부반복문의 조건식이 false가 되면 모든 반복문이 종료한다.
2개의 반복문이 중첩된 경우 이중반복문, 3개의 반복문이 중첩된 경우 삼중반복문이라고 부른다.

do {
console.log('코드블록 내부의 코드는 최소 한 번은 실행됩니다.')
// '코드블록 내부의 코드는 최소 한 번은 실행됩니다.'
} while (false)
break를 사용해 원하는 때에 빠져나올 수 있다. → 반복문의 시작이나 끝이 아닌 본문 중간에서 조건을 확인해야 하는 경우 사용하면 좋다.continue는 반복문을 멈추고 빠져나오진 않지만, 실행중이던 이터레이션을 멈추고 다음 이터레이션으로 넘어간다.(해당 조건을 통과하는 것)for (let i = 0; i <= 10; i++) {
if (i % 2 === 0) continue; //i가 짝수이면 건너뛰게 한다.
console.log(i); // 1,3,5,7,9
}```jsx
레이블 :
for (...) {
for (...) {
for (...) {
}
if (조건) break 레이블; //중간에 break을 썼지만 레이블을 찾아 올라가 반복문 모두를 빠져나오게 된다.
}
}
```