중복되는 명령을 반복하여 실행 하는 기능
for와 while이 있다.
2중 for문을 이해 할 수 있다.
for ( 초기화; 조건식 ; 증감문) { 명령문 }
for (let i = 0; i < 5; i++) { // i가 5가 되면 for 루프 밖으로 나오게 된다.
console.log("hello World");
}
// "hello World"
// "hello World"
// "hello World"
// "hello World"
// "hello World"
console.log(i) // undefined Err
while (조건식) { 명령문 }
let n = 0
while (n <= 4) {
console.log("hello World");
n++ // n = n + 1
}
// "hello World"
// "hello World"
// "hello World"
// "hello World"
// "hello World"
console.log(n) // 4
증감문은 명령문을 모두 실행한 후에 실행 된다.
→ 조건식을 만족하지 않는 경우 바로 loop 밖으로 나오게 된다.
while은 조건만 작성하면 사용이 가능하지만, for는 사용에 따라 초기화 및 증감식을 추가해서 사용한다.
이로인해서 while이 조금 빠르게 작동할 수 있는 여지가 있다.
하지만, 실제 프로그램에서 그 차이를 인지하기 어려운 정도이다.
for문이 상대적으로 장점이라고 생각되는 부분은,
for 반복은 문법에 맞춰서만 작성한다면 직관적인 인식이 가능하다
break란 scope level의 block을 실행을 중지하고 밖으로 탈출할 때 사용한다.
let i = 0;
while (i < 10) {
if ( i === 5 ){
break;
}
console.log(i)
i++
}
// 0
// 1
// 2
// 3
// 4
break가 실행 된 이후에 loop는 즉시 중단하며 해당 루프 다음의 코드를 실행하게 된다.
반복문을 중첩하여 작성하는 방법
for(let i = 0; i < 3; i++) {
for(let j = 0; j < 2; j++) {
console.log('i',i,'j',j)
}
}
// i 0 j 0
// i 0 j 1
// i 1 j 0
// i 1 j 1
// i 2 j 0
// i 2 j 1
⇒ 구구단을 만들수 있다.
let gugudan = () => {
for (let i = 2; i <= 9; i++) {
for (let j = 2; j <= 9; j++) {
console.log(i + 'x' + j + "=" + i*j)
}
}
}
gugudan()
2단 부터 9단까지 출력이 나오는 것을 확인 할 수 있다.
참고자료
while MDN Javascript
break MDN Javascript
for MDN Javascript