조건문
조건문은 사용하면 특정 조건이 만족되었을 때, 특정 코드를 실행할 수 있습니다.
if문
가장 기본적인 if문은 "~~하면 ~~를 해라"를 의미합니다.
예시 코드를 먼저 보겠습니다.
const a = 1;
if ( a + 1 === 2) {
console.log('a + 1이 2입니다.');
}
결과는, "a + 1 이 2입니다."가 출력됩니다.
a+1의 갑은 2이고, 2 === 2는 값이 일치하기 때문에, if문 조건에 코드가 일치하기 때문입니다.
if 뒤에 나오는 식이 ( 조건 ) 입니다.
그리고 { } 조건이 만족되었을 때, 실행시킬 코드가 감싸져 있는 부분을 블록이라고 합니다.
우리가 쓴 코드가 조건이 true가 된다면 실행이 되는 것이고, false가 된다면 실행이 되지 않는 것 입니다.
이전에 우리가 let과 const를 배울 때에, 다른 블록 범위에서는 똑같은 이름으로 선언을 할 수 있다고 배웠습니다.
const a = 1;
if (true) {
const a = 2;
console.log('if문 안의 a 값은' + a);
}
console.log('if문 밖의 a 값은 ' + a);
위 코드에서 if문 안에 ( ) 조건을 true로 설정을 해주었기 때문에, 코드 블록 내부의 코드가 무조건 실행이 됩니다.
굘결과는 다음과 같이 나옵니다.
"if문의 안의 a 값은 2"
"if문 밖의 a 값은 1"
if-else 문
if-else 문은 "~~하다면 ~~하고, 그렇지 않으면 ~~해라"를 의미합니다.
예시 코드를 보겠습니다.
const a = 10;
if (a > 15) {
console.log('a 가 15보다 큽니다');
} else {
console.log('a 가 15보다 크지 않습니다');
}
위의 코드의 값은 다음과 같습니다.
"a 가 15보다 크지 않습니다."
이렇게 특정 조건이 만족할 때와 하지 않을 때 서로 다른 코드를 실행해야 된다면
if-else 구문을 사용하여 작성할 수 있습니다.
위에서는 if의 조건문에 ( a > 15)인데 a의 값은 10이고, 10 > 15보다 크지 않다가 맞기에
바깥으로 빠져나와서 else문이 실행이 되었습니다.
if-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입니다!"
if 조건문안에 비교연산자 ===를 사용하여서 a와 5의 값이 서로 같은지 확인을 합니다.
맞다면, console.log('5입니다!); 가 출력 될 것입니다.
하지만 const a = 10; 에서 a 는 값이 10인것을 확인하였고, a === 5는 false가 됩니다.
그러면 다음으로 넘어가 else if문이 실행되게 되고, 여기서 조건은 ( a === 10)이 나옵니다.
a = 10 이 맞고, a 와 === 10은 비교했을 때, 같은 값이기에 true가 되어 else if문이 실행되게 됩니다.
이렇게 else문은 if문 안에 새로운 조건을 줄 때에, 반복적으로 넣어 줄 수 있습니다.
const a = 10;
if (a === 5) {
console.log('5입니다!');
} else if (a === 7) {
console.log('10입니다!');
} else {
console.log('5도 아니고 10도 아닙니다.');
}
else if문에 조건을 10에서 7로 바꾸어서 다시 실행을 해보겠습니다.
5도 아니고 10도 아닙니다.
if문과 else if문의 조건 두 가지 해당이 안되기 때문에 마지막 else문의 console.log('5도 아니고 10도 아닙니다.')
가 출력되는 것을 확인할 수 있습니다.
switch/case문
switch/case문은 특정 값이 무엇이냐에 따라 작업을하고 싶을 때 사용합니다.
const device = 'galacy note';
switch (device) {
case 'iphone' :
console.log('아이폰!');
break;
case 'ipad' :
console.log('아이패드!');
break;
case 'galacy note' :
console.log('길랙시 노트!');
breack;
default:
console.log('모르겠네요..');
}
위와 같이 const device =' ' 안의 값을 설정해주는 것에 따라 다른 결과가 출력 될 것 입니다.
switch/case 문은 이와 같이 특정 값이 무엇이냐에 따라 다른 작업을 수행할 수 있게 해주는 구문입니다.
swutch/case 문에서는 각 case에서 실행할 코드를 작성하고 맨 마지막에 break;를 해주어야 합니다.
break를 하지 않으면 그 다음 case의 코드까지 실행 해버립니다.
그리고 맨 아래 default: 는 device값이 우리가 case로 준비하지 않았을 경우의 값을 의미합니다.