티스토리 뷰
728x90
반복문?
반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문이다.
if문과 함께 가장 많이 사용되는 실행문 중 하나이다.
while문
- while 문은 특정 조건을 만족할 때까지 계속해서 주어진 실행문을 반복 실행한다.
while (표현식) {
// 표현식의 결과가 참일 경우 반복적으로 실행하고자 하는 실행문
}
- 1부터 3까지 프린트하기
var i = 1; // 초기식
while (i <= 3) { // 표현식
console.log(i);
i++; // 증감식
}
// var i = 1;
// 1 <= 3 -> true
// console.log(1);
// 1++ -> 2
// 2 <= 3 -> true
// console.log(2);
// 2++ -> 3
// 3 <= 3 -> true
// console.log(3);
// 3++ -> 4
// 4 <= 3 -> false
// end of while
- while문의 표현식이 false로 바뀌지 않으면 무한루프에 빠진다.
while (true) {
// infinite loop
}
do ~ while문
- 최소 한번은 실행 후 while문과 같이 표현식이 참이면 loop false면 빠져나간다.
- 실제 프로그래밍시 거의 사용하지 않음.(가독성X, 다른 loop구문으로 대체가능)
do {
// 표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
} while (표현식);
for문
- 초기식, 표현식, 증감식을 모두 포함하고 있는 반복문이다.
- 초기식: for문에서 사용할 변수를 초기화 하는 부분.
- 표현식: for문이 계속해서 반복할지 판단하는 부분.
- 증감식: for문에서 사용하는 변수의 값을 증가(+), 감소(-)시키는 부분.
- for 문을 구성하는 초기식, 표현식, 증감식은 각각 생략될 수 있다.
- 쉼표 연산자(,)를 사용하면 여러 개의 초기식이나 증감식을 동시에 사용할 수도 있다.
for (초기식; 표현식; 증감식) {
// 표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
}
- 1부터 3까지 프린트하기
for (var i = 1; i <= 3; i++) {
console.log(i);
}
// var i = 1;
// 1 <= 3 -> true
// console.log(1)
// 1++ -> 2
// 2 <= 3 -> true
// console.log(2)
// 2++ -> 3
// 3 <= 3 -> true
// console.log(3)
// 3++ -> 4
// 4 <= 3 -> false
// end of for
for / in문
- for / in 문은 해당 객체의 모든 열거할 수 있는 프로퍼티(enumerable properties)를 순회할 수 있도록 해준다.
- 열거할 수 있는 프로퍼티란 내부적으로 enumerable 플래그가 true로 설정된 프로퍼티를 의미한다.
- 모든 프로퍼티를 for문으로 보여주고 싶지 않을때 사용하는듯?
- 루프마다 객체의 열거할 수 있는 프로퍼티명을 변수에 대입한다.
for (변수 in 객체) {
// 객체의 모든 열거할 수 있는 프로퍼티의 개수만큼 반복적으로 실행하고자 하는 실행문;
}
- 배열안에 있는 원소를 모두 프린트하기
for문 사용
var numbers = [0, 1, 2, 3];
for (var i = 0; i < numbers.length; i++) { // i가 배열의 인덱스를 나타낸다.
console.log(numbers[i]);
}
// 0
// 1
// 2
// 3
for / in문 사용
var numbers = [0, 1, 2, 3];
for (var i in numbers) { // 프로퍼티 명 = 배열의 인덱스
console.log(i + ' = ' + numbers[i]); // 인덱스를 가지고 배열의 원소 접근
}
// 0 = 0
// 1 = 1
// 2 = 2
// 3 = 3
- 오브젝트안에 있는 프로퍼티를 모두 프린트하기
var person = { name: 'park jin', age: 31 };
for (var element in person) {
console.log(element + ' is ' + person[element]);
}
// name is park jin
// age is 31
반복문 제어자
continue 문과 break 문은 루프의 흐름을 직접 제어할 수 있게 해준다.
continue문
- 루프의 나머지 부분을 건너뛰고, 바로 다음 표현식의 판단으로 넘어가게 한다.
- 1부터 5까지 숫자중에 짝수만 모두 더해서 결과 출력하기
var numbers = [1, 2, 3, 4, 5];
var evenSum = 0;
for (var i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 !== 0) { // 2로 나눈 나머지가 0이 아니면 홀수
// 홀수면 아래 실행문은 건너뛴다.
continue;
}
// evenSum = evenSum + numbers[i];
evenSum += numbers[i];
}
console.log(evenSum); // 6
break문
- 표현식의 판단 결과에 상관없이 반복문을 완전히 빠져나가고 싶을 때 사용한다.
var foods = ['burger', 'pasta', 'pizza'];
var myFavoriteFood = 'pasta';
for (var i = 0; i < foods.length; i++) {
if (foods[i] === myFavoriteFood) {
console.log('my favorite food is ' + myFavoriteFood + ' and current food is ' + foods[i]);
break;
}
console.log('current food is ' + foods[i]);
}
// current food is burger
// my favorite food is pasta and current food is past
출처
http://tcpschool.com/javascript/js_control_loop
http://tcpschool.com/javascript/js_control_etc
728x90
'개발 언어 > NodeJS' 카테고리의 다른 글
자바스크립트 - 함수 (2) | 2019.07.06 |
---|---|
자바스크립트 - 배열 (0) | 2019.07.06 |
자바스크립트 - 조건문 (0) | 2019.07.06 |
자바스크립트 - 연산자 (0) | 2019.07.06 |
자바스크립트 - 변수 (0) | 2019.07.06 |
댓글