조건문을 사용하면 특정 조건이 만족됐을 때 코드를 실행시킬 수 있다.
if 문
if문은 "~하다면 ~해라" 를 의미한다.
조건이 true 라면 코드가 실행되고, false 라면 코드가 실행되지 않는다.
이 때 { }
로 감싸져 있는 부분을 코드 블럭이라고 한다.
if (조건) { 코드 }
const a = 1;
if (a + 1 === 2) {
console.log('a + 1 이 2 입니다.'); // a + 1 이 2 입니다.
}
else
if-else문은 "~하다면 ~하고, 그렇지 않다면 ~해라" 를 의미한다.
특정 조건이 만족할 때와 만족하지 않을 때 서로 다른 코드를 실행해야 한다면 if-else 구문을 사용할 수 있다.
const a = 10;
if (a > 15) {
console.log('a 가 15보다 큽니다.');
} else {
console.log('a 가 15보다 크지 않습니다.');
}
// a 가 15보다 크지 않습니다.
else if
if-else if문은 여러 조건에 따라 다른 작업을 해야 할 때 사용한다.
조건문을 작성할 때는 조금 더 좁은 영역, 자세한 조건을 가진 조건을 앞부분에 작성한다.
const a = 10;
if (a === 5) {
console.log('5입니다!');
} else if (a === 10) {
console.log('10입니다!');
} else {
console.log('5도 아니고 10도 아닙니다.');
}
// 10입니다!
switch/case 를 이용한 조건문
switch (체크할 값) { }
- 특정 값이 무엇이냐에 따라 다른 작업을 하고 싶을 때 사용한다.
- switch 뒤 괄호 안에 있는 값이 무엇인지 중괄호 안에 있는 코드들을 비교해서 실행한다.
default:
case로 준비 하지 않은 값일 경우 default가 실행된다. (항상 실행)case '비교할 값':
을 이용해서 맞으면 실행된다.case '비교할 값'
인 경우와default:
인 경우 두 블럭 모두 순서대로 실행이 된다.- 각 case에서 해당 블럭이 실행된 후 다음 블럭을 거치지 않고 switch문을 나가고 싶다면, case문 안에서
break;
를 실행한다. break를 하지 않으면 그 다음 case의 코드까지 실행된다. - break와 case문의 순서를 잘 조정하여, 원하는 코드를 만들어낼 수 있도록 제대로 이해해야 한다.
// 다음은 n 이 5 로 나누었을때 나머지가 0 인 경우에 실행되는 블럭을 추가할 것이다.
// case '비교할 값': 을 이용해서 맞으면 실행된다.
// case 0: 인 경우와 default: 인 경우 두 블럭 모두 순서대로 실행이 된다.
switch (n % 5) {
case 0: {
console.log('5의 배수입니다.'); // 출력
}
default:
cnosole.log(n); // 출력
}
// 만약에 해당 블럭이 실행된 후 다음 블럭을 거치지 않고 switch 문을 나가고 싶다면,
// case 문 안에서 break; 를 실행한다.
switch (n % 5) {
case 0: {
console.log('5의 배수입니다.'); // 출력되지 않음
break;
}
default:
cnosole.log(n); // 출력
}
// break 와 case 문의 순서를 잘 조정하여, 원하는 코드를 만들어낼 수 있도록 제대로 이해해야 한다.
n = 6;
switch (n % 5) {
case 0: {
console.log('5의 배수입니다.');
break;
}
case 1:
case 2:
case 3:
case 4:
console.log('5의 배수가 아닙니다.'); // 출력 5의 배수가 아닙니다.
default:
console.log(n); // 출력 6
}