본문 바로가기
JavaScript | 자바스크립트

반복문 - for

by Pig_CoLa 2020. 7. 13.
SMALL

while문 의 단점

while문은 조건문을 충족하지 못할 때, 또는 break구문을 만나면 멈추게 됩니다.

이때 조건문을 의도적으로 충족시키지 않게 하기 위해서 3번만 반복한다고 하면

변수를 숫자로 (보통 0) 선언해주고 body부분에 이 변수의 값을 1씩 증가시키게 하는 구문이 있어야 합니다.

let i = 0
while (i < 3) {
    console.log('hi')
    i += 1
}

하지만 변수 i는 반복문에서 쓰이는 용도 외에 반복문 밖에서 사용할 가치가 없습니다.

이때 굳이 while문을 사용하기보다는 for문을 사용하는것이 합리적입니다.

(꼭 for문 만을 사용하는 것이 정답은 아닙니다.

for문으로 쓸수 있는것은 while로 쓸수 있으며, 반대의 경우도 마찬가지 입니다.)

 

for문

for문은 body부분에 대해서 for문의 조건을 만족하는 만큼 반복합니다.

while과 동일하네요..?

다른점은 for문을 시작할때에 조건문 뿐만아니라 for문 내에서만 사용될 변수의 초기화,
특정 변수에 대한 증감문을 같이 작성해주게 됩니다.

for (초기화; 조건문; 증감문) {
    body
}
// 초기화
// 조건비교 -> true
// body
// 증감문
// 조건비교 -> true
// body
// 증감문
// 조건비교 -> false
// 반복종료

보편적으로 for문의 초기화 변수는 i, j가 주로 사용됩니다.

while문과의 차이점은 반복횟수를 특정해 놓고 작성할때 수월하다는 것에 있습니다.

for (let i = 0; i < 5; i++) { // i++ 은 i += 1 과 동일한 코드입니다.
    console.log('안녕하세요')
}
// 위는 console.log('안녕하세요')를 5번 반복하는 코드입니다.

또한 선언된 변수 i는 for문 내부에서만 사용되어 외부에서 i에 대한 중복선언, 또는 의도치 않은 참조 등의
예기치 못한 오류를 방지할 수 있습니다.

 

for문을 통한 인덱스조회

이러한 특성으로 for문은 길이가 정해진 무언가를 인덱스로 순회할때 자주 이용됩니다.

let str = '안녕하세요'
let arr = [9, 8, 7, 6, 5, 4]

for (let i = 0; i < str.length; i++) {
    console.log(str[i])
}
// 안
// 녕
// 하
// 세
// 요

for (let i = 0; i < arr.length; i++) {
    console.log(arr[i])
}
// 9
// 8
// 7
// 6
// 5
// 4

// while문을 사용했다면 i라는 변수를 중복선언 할수 없으니 다른 변수를 선언해 주던지
// i에대한 선언없이 i값을 0으로 다시 할당해 주어야 했을겁니다.
LIST

'JavaScript | 자바스크립트' 카테고리의 다른 글

스코프 - Scope  (0) 2020.07.14
for ...of문 / for ...in문  (0) 2020.07.14
반복문 - while  (0) 2020.07.13
객체 - Object  (0) 2020.07.13
배열 - Array  (0) 2020.07.12

댓글