제어문(control flow statement)
자바스크립트에서 제어문은 코드의 흐름을 제어하는 데 사용됩니다. 제어문을 통해 조건에 따라 코드 블록을 실행하거나, 반복해서 실행하거나, 특정한 경우에만 코드를 실행할 수 있습니다. 자바스크립트에서 자주 사용되는 제어문에 대해 상세히 설명하겠습니다.
1. 조건문
조건문은 주어진 조건에 따라 코드 블록을 실행할지 여부를 결정합니다.
1.1 if문
if
문은 조건이 참(true)일 때 코드 블록을 실행합니다.
let age = 20;
if (age >= 18) {
console.log('You are an adult.');
}
1.2 if-else문
if-else
문은 조건이 참(true)일 때는 if
블록을, 거짓(false)일 때는 else
블록을 실행합니다.
let age = 16;
if (age >= 18) {
console.log('You are an adult.');
} else {
console.log('You are a minor.');
}
1.3 else if문
else if
문은 여러 조건을 확인할 때 사용됩니다.
let score = 85;
if (score >= 90) {
console.log('Grade: A');
} else if (score >= 80) {
console.log('Grade: B');
} else if (score >= 70) {
console.log('Grade: C');
} else if (score >= 60) {
console.log('Grade: D');
} else {
console.log('Grade: F');
}
1.4 삼항 연산자
삼항 연산자는 조건에 따라 값을 선택하는 짧은 조건문입니다.
let age = 20;
let canVote = (age >= 18) ? 'Yes' : 'No';
console.log(canVote); // Yes
2. switch문
switch
문은 여러 값 중 하나와 일치하는 경우에 따라 코드 블록을 실행합니다.
let color = 'red';
switch (color) {
case 'red':
console.log('Red color');
break;
case 'green':
console.log('Green color');
break;
case 'blue':
console.log('Blue color');
break;
default:
console.log('Unknown color');
}
3. 반복문
반복문은 특정 코드 블록을 여러 번 실행할 때 사용됩니다.
3.1 for문
for
문은 반복 횟수가 정해진 경우에 사용됩니다.
for (let i = 0; i < 5; i++) {
console.log('Iteration', i);
}
3.2 while문
while
문은 조건이 참(true)인 동안 코드 블록을 반복해서 실행합니다.
let i = 0;
while (i < 5) {
console.log('Iteration', i);
i++;
}
3.3 do-while문
do-while
문은 코드 블록을 먼저 실행한 후 조건이 참(true)인 동안 반복합니다.
let i = 0;
do {
console.log('Iteration', i);
i++;
} while (i < 5);
3.4 for-in문
for-in
문은 객체의 열거 가능한 속성을 반복할 때 사용됩니다.
let person = { name: 'Alice', age: 25, city: 'Wonderland' };
for (let key in person) {
console.log(key, person[key]);
}
3.5 for-of문
for-of
문은 배열이나 이터러블 객체의 요소를 반복할 때 사용됩니다.
let numbers = [1, 2, 3, 4, 5];
for (let number of numbers) {
console.log(number);
}
4. 기타 제어문
4.1 break문
break
문은 반복문이나 switch
문을 종료하는 데 사용됩니다.
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // 반복문 종료
}
console.log(i);
}
4.2 continue문
continue
문은 현재 반복을 중단하고 다음 반복을 시작하는 데 사용됩니다.
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue; // 다음 반복으로 건너뜀
}
console.log(i);
}
5. 예외 처리
예외 처리문은 코드 실행 중 발생할 수 있는 오류를 처리하는 데 사용됩니다.
5.1 try-catch문
try-catch
문은 코드 블록을 시도(try
)하고, 오류가 발생하면 이를 잡아서(catch
) 처리합니다.
try {
let result = someFunction();
console.log(result);
} catch (error) {
console.error('An error occurred:', error.message);
}
5.2 finally문
finally
문은 오류 발생 여부와 관계없이 항상 실행되는 코드 블록을 정의합니다.
try {
let result = someFunction();
console.log(result);
} catch (error) {
console.error('An error occurred:', error.message);
} finally {
console.log('This will always run');
}
6. 레이블 문
레이블 문은 break
또는 continue
문과 함께 사용하여 특정 반복문을 제어할 수 있습니다.
outerLoop: for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop;
}
console.log(`i = ${i}, j = ${j}`);
}
}
이상으로 자바스크립트의 다양한 제어문에 대해 살펴보았습니다. 제어문을 활용하면 코드의 흐름을 유연하게 제어할 수 있으며, 이를 통해 복잡한 로직을 효과적으로 구현할 수 있습니다.