어떤 조건이 참인지 거짓인지에 따라 실행 여부를 결정하는 구문이다.
결과값은 항상 불린형 값으로 반환되어야 한다. 불린형 true인 경우에만 명령문 실행된다.
else if와 else는 if의 결과값이 false일 때 추가 실행되는 조건문이다.
if문
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/if...else
function testNum(a) {
let result;
if (a > 0) {
result = 'positive';
} else {
result = 'NOT positive';
}
return result;
}
console.log(testNum(-5));
// expected output: "NOT positive"
case의 값과 일치 여부를 확인하며 이때 일치연산자(===)를 사용한다.
일치연산자는 값과 자료형을 모두 비교하고, 결과값으로 true 또는 false를 반환한다.
여러 case문이 있는 경우 위에서부터 순차적으로 일치한 값이 나올 때까지 case값을 확인하며 내려가다, 일치하면 해당 명령문을 실행한다.
break는 그 다음의 코드들을 더 이상 실행하지 않고 switch 조건문을 끝내는 역할을 수행한다.
만약 일치하는 case 값이 없다면 default로 선언된 명령문이 실행된다.
switch문
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/switch
switch (expression_표현식) {
case value1:
//Statements executed when the
//result of expression matches value1
break;
case value2:
//Statements executed when the
//result of expression matches value2
break;
case valueN:
//Statements executed when the
//result of expression matches valueN
break;
default:
//Statements executed when none of
//the values match the value of the expression
break;
}
//변수 expr에 'Papayas' 문자값 대입
const expr = 'Papayas';
//switch 표현식에 expr 추가
switch (expr) {
//첫 번째 case문 확인
//=> expr의 값이 'Papayas'와 일치하지 않으므로 명령문 실행 X
//=> 다음 case로 넘어감
case 'Oranges':
console.log('Oranges are $0.59 a pound.');
break;
//두 번째 case문 확인
//일치하지 않음 => 다음 case로 넘어감
case 'Mangoes':
//세 번째 case문 확인
//expr값이 case문의 값과 일치 = 해당 명령문 실행
case 'Papayas':
console.log('Mangoes and papayas are $2.79 a pound.');
// expected output: "Mangoes and papayas are $2.79 a pound."
break;
default:
console.log(`Sorry, we are out of ${expr}.`);
}