1. 조건문
// if-else 구문
if (condition_1) {
// condition_1이 참일 경우 실행될 코드
}
else if (condition_2) {
// condition_1은 거짓이고 condition_2는 참일 경우 실행될 코드
}
else {
// 모든 조건이 거짓일 경우 실행될 코드
}
// switch 구문
switch(condition) {
case CASE1:
// condition 이 CASE1일 경우(condition === CASE1) 실행될 코드
break;
case CASE2:
// condition 이 CASE2일 경우(condition === CASE2) 실행될 코드
break;
case CASE3:
// condition 이 CASE3일 경우(condition === CASE3) 실행될 코드
break;
default:
// 어느 케이스에도 해당하지 않을 경우 실행될 코드
break;
}
- C나 Java의 조건문들과 동일하게 동작
- switch문의 경우 case 값으로 숫자만이 아닌 문자열이나 다른 타입의 값도 사용 가능
- condition 과 case의 비교는 일치(===)연산으로 이루어짐
2. 반복문
// 일반적인 for 반복문
for(let i=0; i<n; i++) {
// 반복하여 실행될 코드
}
// for-in 구문
// JavaScript 의 for in 구문은 대상 객체(object)의 key값들을 순차적으로 참조
// 배열의 경우에는 물론 index가 key값이기에 index를 순차적으로 참조
// 대부분의 경우 배열에 대해 for in 구문을 사용하는 것은 권장되지않으며
// 배열의 element를 참조하는 것은 일반적인 for문을 통한 순회가 가장 효율적
let arr = [6, 2, 3, 7, 9];
for(let i in arr) {
console.log(arr[i]); // 라인마다 6 2 3 7 9 각각 출력
}
// while 구문
while(condition) {
// condition이 참일 동안 반복 실행될 코드
}
// do-while 구문
do {
// 처음 한번은 반드시 실행되며
// 이후로는 condition이 참인 동안에만 반복 실행될 코드
} while(condition);
- 기본적으로 C나 Java와 동일한 문법을 사용 가능
- for-in 구문의 경우 객체(Object)의 속성을 순회하기 위한 수단으로 객체의 key값을 순차적으로 순회
- 배열에 사용할 경우 물론 index를 얻을 수 있지만 단순 for문을 사용하는 것이 보다 효율적이고 빠름
- forEach 메소드를 사용하여 객체를 순회하는 것도 가능하지만 모든 브라우저에서 지원을 보장받지는 않음
3. 삼항 조건 연산자(Tenary Conditional Operator)
score = 82
// if 문을 사용한 학점분류
let grade;
if(score >= 90) {
grade = 'A';
}
else if(score >= 80) {
grade = 'B';
}
else {
grade = 'C';
}
console.log(grade); // "B"
// 삼항 조건 연산자를 사용
grade = (score >= 90) ? 'A' : ((score >= 80) ? 'B' : 'C')
console.log(grade); // "B"
- C나 Java와 마찬가지로 condition ? val_if_true : val_if_false 의 형태로 삼항 조건 연산자 사용 가능