[Javascript] 반복문

반복문이란?

조건식의 평가 결과가 인 경우 코드 블록을 실행한다. 조건식의 결과가 거짓일 때까지 반복한다.


왜 쓰나요?

똑같은 동작을 여러번 해야할 때, 하지만 그걸 코드로 모두 작성하면 시간도 많이 소요되고 실수할 가능성도 높아진다. 그럴 때 같은 동작을 하는 반복문을 작성함으로써 시간도 아끼고 실수도 줄일 수 있다.


반복문의 장점

⚡️ 똑같은 코드를 다시 일일히 작성할 필요가 없다.
⚡️ 한 번의 코드로 여러번 동작을 반복할 수 있어 효율적이다.


반복문의 종류

for

조건식이 거짓으로 평가될 때 까지 코드 블록을 반복 실행한다.

for (변수 선언문 ; 조건식 ; 증감식) {
	조건식이 참인 경우 반복될 실행문 ;
}

for(let i=0; i<=10; i++){
console.log(i+'입니다');
}

결과

while

주어진 조건식의 평가 결과가 참일 때 코드 블록을 계속해서 반복 실행한다. 마찬가지로 결과가 거짓이면 종료한다. while문은 반복횟수가 불명확할 때 주로 사용한다. 만약 조건식의 평가 결과가 불리언값이 아니면 불리언 값으로 강제 변환하여 논리적 참, 거짓을 구별한다. 만약 조건식의 결과가 언제나 참이면 무한루프가 된다.

let count = 0;

// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
while(count<3){
console.log(count) // 0 1 2
count ++;
}

do...while

코드 블록을 먼저 실행하고 조건식을 평가한다. 따라서 코드 블록은 무조건 한 번 이상 실행한다.

📌 do...while문의 실행 순서
1. do 안에 있는 코드 블록을 실행
2. while에 있는 조건식이 참이면 다시 1번으로 거짓이면 종료

let count = 0;

//count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
do{
	console.log(count); // 0 1 2
	count ++;
} while (count < 3);

forEach 메소드

배열을 순회할 때 사용한다.

//forEach 사용 방법
const array = [0,1,2,3,4,5];

//첫 번째 방법
array.forEach(function(element){
 console.log(element); // 1 2 3 4 5 가 출력
})

//두 번째 방법
array.forEach(element => console.log(element)); //위와 동일

forEach는 return이 없다. 따라서 결과물을 내놓고 싶으면 함수 밖의 변수를 사용해야 한다.


let avengers = ['hani', 'steven', 'tony', 'natasha', 'scott', 'wanda', 'vision', 'thor'];
let answer=[];

//for문
for(let i=0; i<avengers.length; i++){
	answer.push(avengers[i);	
}

//forEach()
avengers.forEach(function(member){
	answer.push(member);
});

console.log(answer);// ['hani', 'steven', 'tony', 'natasha', 'scott', 'wanda', 'vision', 'thor'];

for in

객체의 프로퍼티를 열거할 때 사용한다. (배열에서도 사용 가능!)

const mcu = {1:'iron man', 2: 'captain america', 3:'spider man'};

for (const property in mcu){
	console.log('property:'+property);
	console.log('mcu[property]'+mcu[property]);
}

const captain = 'Steven Rogers';
for(spelling of captain){
console.log(spelling);
}

for of

반복할 수 있는 객체(Array, Map, Set, arguments, String...)를 순회할 수 있도록 해준다.

let avengers = ['hani', 'steven', 'tony', 'natasha', 'scott', 'wanda', 'vision', 'thor'];

for(let member of avengers){
	console.log(member); // 'hani' ... 'thor'까지 다 출력
}

const captain = 'Steven Rogers';
for(spelling of captain){
console.log(spelling); // 'S','t','e','v',....'s' 까지 모든 문자열 하나하나 출력
}

좋은 웹페이지 즐겨찾기