제어문(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
'WEB > JavaScript' 카테고리의 다른 글
[JavaScript] 윈도우 (Window) 객체 (0) | 2022.06.28 |
---|---|
[JavaScript] 문자열 (String) 객체 (0) | 2022.06.27 |
[JavaScript] 배열 (Array) 객체 (0) | 2022.06.27 |
[JavaScript] 자바스크립트 기초 문법 - 함수 (0) | 2022.06.27 |
[JavaScript] 자바스크립트 기초 문법 - 변수, 데이터 타입, 연산자 (0) | 2022.06.25 |
댓글