JavaScript의 컨트롤 구조는 프로그램의 흐름을 제어하는 데 사용되는 구문입니다. 이를 통해 조건에 따라 코드가 실행되거나, 반복문을 통해 특정 작업을 여러 번 수행할 수 있습니다. 대표적인 컨트롤 구조는 조건문, 반복문, 분기문 등이 있습니다.
1. 조건문 (Conditional Statements)
조건에 따라 다른 코드를 실행하는 구조입니다.
- if, else if, else
if 문은 조건이 true일 때 코드를 실행합니다. 추가적으로 else if와 else를 통해 조건을 확장할 수 있습니다.
let age = 20;
if (age >= 18) {
console.log("Adult");
} else if (age >= 13) {
console.log("Teenager");
} else {
console.log("Child");
}
- 설명:
- if: 조건이 true일 경우 실행.
- else if: 첫 번째 조건이 false일 때 다른 조건을 검사.
- else: 모든 조건이 false일 때 실행.
- 삼항 연산자 (ternary operator)
단순한 조건문을 한 줄로 작성할 수 있는 연산자입니다.
let age = 20;
let message = age >= 18 ? "Adult" : "Minor";
console.log(message);
- 설명: 조건이 true면 첫 번째 값, false면 두 번째 값이 반환됩니다.
- switch
하나의 변수에 대해 여러 값을 비교하고, 각각의 경우에 맞는 코드를 실행합니다.
let day = 2;
switch (day) {
case 1:
console.log("Monday");
break;
case 2:
console.log("Tuesday");
break;
case 3:
console.log("Wednesday");
break;
default:
console.log("Invalid day");
}
- 설명: switch 문은 주어진 값이 case에 맞는지 확인하고 해당 블록을 실행합니다. default는 모든 case가 만족하지 않을 때 실행됩니다. break 문을 생략하면 다음 case로 "fall through" (즉, 다음 case도 실행)됩니다. break가 없으면 그 밑에 있는 코드가 계속 실행될 수 있으므로 항상 break를 추가하는 것이 좋습니다.
2. 반복문 (Loops)
코드를 여러 번 반복해서 실행하는 구조입니다.
- for 문
지정된 횟수만큼 반복할 때 사용됩니다.
for (let i = 0; i < 5; i++) {
console.log(i);
}
- 설명:
- i = 0: 초기값 설정.
- i < 5: 조건이 참일 때 반복.
- i++: 매 반복 후 i를 1씩 증가.
- while 문
조건이 true인 동안 계속해서 반복합니다.
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
- 설명: while은 조건이 true인 동안 블록 안의 코드를 반복 실행합니다.
- do...while 문
블록 내부의 코드를 한 번은 무조건 실행한 후, 조건을 검사하여 반복합니다.
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
- 설명: do...while은 조건을 나중에 검사하기 때문에 코드가 최소 한 번은 실행됩니다.
3. 분기문 (Branching Statements)
반복문을 제어하거나, 특정 블록의 실행을 건너뛸 때 사용됩니다.
- break
반복문이나 switch 문에서 현재 루프나 블록을 완전히 종료합니다.
for (let i = 0; i < 5; i++) {
if (i === 3) break;
console.log(i);
}
- 설명: i가 3일 때 루프가 종료됩니다.
- continue
현재 반복을 건너뛰고 다음 반복을 실행합니다.
for (let i = 0; i < 5; i++) {
if (i === 3) continue;
console.log(i);
}
- 설명: i가 3일 때 출력하지 않고, 다음 반복으로 넘어갑니다.
- return
함수 내에서 즉시 실행을 중지하고, 값을 반환합니다.
function add(a, b) {
console.log("Before return");
return a + b; // 함수 실행 종료
console.log("After return"); // 실행되지 않음
}
- 설명: return은 값을 반환하면서 함수 실행을 종료합니다.
4. 예외 처리 (Exception Handling)
프로그램에서 발생할 수 있는 오류를 처리하는 구조입니다.
- try...catch
예외가 발생할 수 있는 코드를 안전하게 처리하는 구조입니다.
try {
let result = 10 / 0;
console.log(result);
} catch (error) {
console.log("An error occurred: " + error.message);
}
- 설명: try 블록에서 예외가 발생하면 catch 블록이 실행됩니다.
- throw
프로그램에서 직접 오류를 발생시킬 때 사용합니다.
function checkAge(age) {
if (age < 18) {
throw new Error("Age must be 18 or older");
}
return "Access granted";
}
try {
console.log(checkAge(15));
} catch (error) {
console.log(error.message);
}
- 설명: throw를 통해 예외를 발생시키고, catch에서 그 예외를 처리할 수 있습니다.
요약
- 조건문은 특정 조건에 따라 코드를 실행할지 결정하는 데 사용됩니다.
- 반복문은 동일한 코드를 여러 번 실행하고, 특정 조건을 만족할 때까지 반복합니다.
- 분기문은 반복이나 흐름을 제어하는 데 사용되며, break, continue, return이 대표적입니다.
- 예외 처리는 오류가 발생했을 때 안전하게 처리할 수 있는 구조를 제공합니다.
이러한 컨트롤 구조를 통해 JavaScript에서 프로그램의 흐름을 세밀하게 제어할 수 있습니다.
'WebDev > JavaScript' 카테고리의 다른 글
[기초] JavaScript DOM이란? (0) | 2024.09.05 |
---|---|
[기초] JavaScript 참조형(Reference Type) (0) | 2024.09.03 |
[기초] JavaScript Destructuring (2) | 2024.09.02 |
[기초]JavaScript 스프레드 연산자(Spread Operation) (0) | 2024.08.30 |
[기초]JavaScript 화살표 함수(Arrow Function) (0) | 2024.08.29 |