본문 바로가기
WEB/JavaScript

[JavaScript] 자바스크립트 기초 문법 - 제어문

by Amy IT 2022. 6. 26.

 

제어문(Control flow statement)은 주어진 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용합니다.

 

목차

     

    조건문

    조건문(conditional statement)은 주어진 조건식의 참거짓 여부에 따라 코드 블럭(블록문)의 실행을 결정합니다.

     

    단일 if 문

    if (3>2) {
    	console.log("3>2");
    }
    //실행 결과: 3>2

     

    if...else 문

    var gender = "여";
    if (gender == "남") {
    	console.log("남자");
    } else {
    	console.log("여자");
    }
    //실행 결과: 여자

     

    다중 if 문

    var grade = 80;
    if (grade >= 90) {
    	console.log("A 학점");
    } else if (grade >= 80){
    	console.log("B 학점");
    } else if (grade >= 70){
    	console.log("C 학점");
    } else {
    	console.log("F 학점");
    }
    //실행 결과: B 학점

     

    switch 문

    switch 문은 switch 문의 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 순서를 이동시킵니다. 일치하는 표현식을 갖는 case 문이 없다면 실행 순서는 default 문으로 이동합니다.

    var floor = 3;
    var info;
    switch (floor) {
    	case 1: info="1층은 잡화"; break;
    	case 2: info="2층은 여성"; break;
    	case 3: info="3층은 남성"; break;
    	default: info="4층은 옥상";
    }
    console.log(info);
    //실행 결과: 3층은 남성

     

     

     

    반복문

    반복문(Loop statement)은 주어진 조건식의 평가 결과가 참인 경우 코드 블럭을 실행합니다. 그 후 조건식을 다시 검사하여 여전히 참인 경우 코드 블록을 다시 실행합니다. 이는 조건식이 거짓일 때까지 반복됩니다.

     

    for 문

    for (초기화식; 조건식; 증감식) {
      조건식이 참인 경우 반복 실행될 문;
    }
    for (var i = 0; i < 3; i++) {
    	console.log(i);
    }
    //실행 결과: 0  1  2

     

    for...in 문

    for...in 문은 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복합니다.

    var arr = ["one", "two", "three"];
    for ( var idx in arr) {
    	console.log(idx, arr[idx]);
    }
    //실행 결과: 0 one    1 two    2 three
    var obj = {"key1":"one", "key2":"two", "key3":"three"};
    for ( var prop in obj) {
    	console.log(prop, obj[prop]);
    }
    //실행 결과: key1 one    key2 two    key3 three

     

    for...of 문

    for...of 문은 반복가능한 객체(Array, Map, Set, String, TypedArray, arguments 객체 등)에 대해 반복합니다.

    var iterable = [10, 20, 30];
    for (var value of iterable) {
    	console.log(value);
    }
    //실행 결과: 10  20  30
    var str = "boo";
    for (var c of str) {
    	console.log(c);
    }
    //실행 결과: b  o  o

     

    while 문

    var num = 0;
    while (num < 3) {
    	console.log(num);
    	num++;
    }
    //실행 결과: 0  1  2

     

    do...while 문

    do...while 문은 코드 블록을 실행하고 조건식을 평가합니다. 따라서 코드 블록이 무조건 한번 이상 실행됩니다.

    var num2 = 0;
    do {
    	console.log(num2);
    	num2++;
    } while (num2 < 3);
    //실행 결과: 0  1  2

     

     

     

    break 문

    반복문 또는 switch 문의 코드 블록을 빠져나갑니다.

    for (var i = 0; i < 5; i++) {
    	console.log(i);
    	if (i == 2) break;
    }
    //실행 결과: 0  1  2

     

     

     

    continue 문

    반복문의 코드 블록 실행을 중단하고 반복문의 증감식으로 이동합니다.

    for (var i2 = 0; i2 <= 10; i2++) {
    	if (i2%2 == 0) continue;
    	console.log(i2);
    }
    //실행 결과: 1  3  5  7  9

     

     

     

    참고

    https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements

    https://poiemaweb.com/js-control-flow

     

     

    댓글