자바스크립트에서는 조건문과 반복문을 통해 코드의 흐름을 제어할 수 있습니다.
먼저 조건문은 특정 조건에 따라 실행할 코드를 분기할 때 사용합니다.
가장 기본적인 형태는if-else if-else문으로, 주어진 조건이true일 때 해당 블록의 코드가 실행됩니다.
또한, 여러 조건 중 하나를 선택할 때는switch문을 사용하기도 합니다.
예를 들어, 점수에 따라 등급을 나누거나, 사용자 입력값에 따라 다른 동작을 수행할 때 사용됩니다.다음으로 반복문은 동일한 동작을 여러 번 수행할 때 사용합니다.
대표적으로for,while,do...while문이 있습니다.
for문은 반복 횟수가 명확할 때 사용하며, 초기화식, 조건식, 증감식으로 구성됩니다.
while문은 조건이true인 동안 반복을 계속합니다.
do...while문은 조건을 나중에 검사하므로, 최소 한 번은 실행됩니다.즉, 조건문은 어떤 코드를 실행할지 결정하고, 반복문은 얼마나 반복해서 실행할지를 제어하는 구조라고 정리할 수 있습니다.
if-else if-else 문가장 기본적인 조건문 형태
if (score >= 90) {
console.log("A등급");
} else if (score >= 80) {
console.log("B등급");
} else {
console.log("C등급 이하");
}
true인 블록만 실행되고, 나머지는 건너뜀조건 안에 또 다른 조건을 넣어 세부 분기 처리를 할 수 있음
if (age >= 18) {
if (hasTicket) {
console.log("입장 가능");
} else {
console.log("티켓이 없습니다.");
}
}
&&, ||)를 활용해 간결하게 작성하는 것이 좋음if (age >= 18 && hasTicket) console.log("입장 가능");하나의 값이 여러 경우 중 어디에 속하는지를 비교할 때 사용함
switch (fruit) {
case "apple":
console.log("사과입니다.");
break;
case "banana":
console.log("바나나입니다.");
break;
default:
console.log("해당 과일 없음");
}
switch는 정확한 값 비교(===)를 수행함case 뒤에는 break를 써야 다음 case로 넘어가지 않음switch (day) {
case "Sat":
case "Sun":
console.log("주말입니다.");
break;
default:
console.log("평일입니다.");
}for 문반복 횟수가 명확할 때 가장 많이 반복문
for (let i = 0; i < 5; i++) {
console.log(`i: ${i}`);
}
// 결과
// i: 0
// i: 1
// i: 2
// i: 3
// i: 4
for(초기식; 조건식; 증감식)초기식이 실행됨조건식이 참인 동안 반복함증감식이 실행됨초기식 → 조건식 → 증감식 → 조건식 → 증감식 → ...while 문조건이 true인 동안 계속 반복함
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
// 결과
// 0
// 1
// 2
// 3
// 4
break를 사용해야 함do...while 문한 번은 무조건 실행되는 반복문
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
// 결과
// 0
// 1
// 2
// 3
// 4
for...in / for...of 문for...in : 객체의 속성(key)을 순회함
const user = { name: "현진", age: 25 }';
for (let key in user) {
console.log(`${key}: ${user[key]}`);
}
// name: 현진
// age: 25
for...of : 배열, 문자열, Map, Set 등 반복 가능한 객체(iterable)의 값을 순회함
const arr = [10, 20, 30];
for (let value of arr) {
console.log(value);
}
// 결과
// 10
// 20
// 30
break / continuebreak : 반복문을 즉시 종료함
for (let i = 0; i < 10; i++) {
if (i === 5) break;
console.log(i);
}
// 결과
// 1
// 2
// 3
// 4
continue : 해당 반복만 건너뛰고, 다음 반복으로 진행함
for (let i = 0; i < 5; i++) {
if (i === 2) continue;
console.log(i);
}
// 결과
// 1
// 3
// 4
// 5