티스토리 뷰

반복문?

반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문이다.
if문과 함께 가장 많이 사용되는 실행문 중 하나이다.

while문

  • while 문은 특정 조건을 만족할 때까지 계속해서 주어진 실행문을 반복 실행한다.

출처: http://tcpschool.com/javascript/js_control_loop

 

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 문을 구성하는 초기식, 표현식, 증감식은 각각 생략될 수 있다.
  • 쉼표 연산자(,)를 사용하면 여러 개의 초기식이나 증감식을 동시에 사용할 수도 있다.

출처: http://tcpschool.com/javascript/js_control_loop

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

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

http://tcpschool.com/javascript/js_control_etc

불러오는 중입니다...

 

'개발 언어 > NodeJS' 카테고리의 다른 글

자바스크립트 - 함수  (2) 2019.07.06
자바스크립트 - 배열  (0) 2019.07.06
자바스크립트 - 조건문  (0) 2019.07.06
자바스크립트 - 연산자  (0) 2019.07.06
자바스크립트 - 변수  (0) 2019.07.06
댓글