// for문
for (let i = 0; i < 10; i++) { // , 가 아닌 ;로 구분 초기식, 조건식, 증감식 순서
console.log('지겨워요 자바스크립트')
} // 참일 떄 까지 반복, 거짓이 되면 중지
for (let i = 0; i < 10; i++) {
if (i < 5){
break;
}
} // 5 미만까지 반복
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
} // 홀수만 출력
반복문 (for문)
// 기본 형태
for (변수 선언문 또는 할당문; 조건식; 증감식) {
조건식이 참인 경우 반복 실행될 문;
}
for (let i = 0; i < 2; i++) {
console.log(i);
}
// 0
// 1
증감식 실행이 종료 되면 다시 조건식이 실행된다. 변수 선언문이 실행 되는 것이 아니라
조건식이 실행되는 것이다. (101p)
for문의 변수 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없다. 단, 어떤 식도 선언하지 않으면 무한루트가 된다.
//2중 for문 예제 두개의 주사위를 던졌을 때 두 눈의 합이 6이 되는 모든 경우
for (let i = 1;, i <= 6, i++) {
for (let j = 1;, j <= 6, j++ {
if (i + j === 6) console.log(`[${i}, ${j}]`);
}
}
[1, 5]
[2, 4]
.
.
.
반복문(while문)
for문은 반복 횟수가 명확할 때, while문은 반복횟수가 불명확할 때 주로 사용한다.
whil 문은 조건문의 평가 결과가 거짓이 되면 코드 블록을 실행하지 않고 종료한다.
만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환하여 논리적 참, 거짓을 구별한다.
let count = 0;
while (count < 3) {
console.log(count); // 0 1 2
count++;
}
while (true) { ... }
let num = 0;
while (true) {
console.log(num);
num ++;
if (num === 3)
break;
} // 0 1 2
do...while문
let num = 0;
// num이 3보다 작을때 까지 코드블록을 계속 반복
do {
console.log(num); // 0 1 2
num++;
} while (num < 3);
break문
break 문은 코드블록을 탈출하는 것이 아닌 레이블 문, 반복문, switch 문의 코드 블록을 탈출하는 것이다.
그래서 이외의 코드에 break를 사용하면 문법 에러가 발생한다.
여기서 레이블 문이란 식별자가 붙은 문을 말한다.
seon: console.log('seon');
seon: {
console.log(1);
break seon;
console.log(2);
}
console.log('끝');
continue문
const str = 'Welcome';
const find = 'W';
let count = 0;
for ( let i = 0; i < str.length; i++) {
if (str[i] !== find)
continue;
count++ ;
}
console.log(count); // 0