조건문 - 조건에 따라 처리를 분기
반복문 - 조건을 만족하면 처리를 반복 실행
점프문 - 프로그램을 다른 위치로 이동
if(조건식1){문장1}
else if(조건식2){문장2}
else{문장3}
조건식1을 만족하면 문장1을 실행하고 조건식1을 만족하지 못하고 조건식2를 만족하면 문장2를 실행하고 조건식1,2 둘다 만족하지 못할 경우 문장3을 실행한다.
let age = prompt('나이를 입력해주세요.','');
if (age > 19) {
alert('성인입니다');
} else {
alert('성인이 아닙니다');
}
위와 같이 작성하는 것보다 더 짧고 간결하게 작성할 수 있다.
let age = prompt('나이를 입력해주세요.','');
age > 19 ? alert('성인입니다'): alert('성인이 아닙니다');
age
가 19를 넘어 조건이 맞으면 :
앞에 성인입니다를 출력하고 조건이 맞지 않으면 :
뒤 성인이아닙니다를 출력한다.
let age = prompt('나이를 입력해주세요.', '');
let message = (age < 3) ? '유아입니다' :
(age < 18) ? '성인이 아닙니다' :
(age < 100) ? '성인입니다' :
'나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
alert( message );
물음표 연산자?
가 여러개 연결하면 복수 조건을 처리할수있다.
if (age < 3) {
message = '유아입니다';
} else if (age < 18) {
message = '성인이 아닙니다';
} else if (age < 100) {
message = '성인입니다';
} else {
message = '나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
}
두번째 나이를 입력받는 것처럼 message
에 값을 입력받을 때는 ?
를 사용하여 받는 것이 간결하고 가독성이 좋지만 첫번째처럼 출력이 많거나 복잡할 때는 if
를 사용하는게 더 읽기 쉽다. ?
를 쓰게되면 옆으로 길게 코드가 늘어나 읽기 힘들어지는 이유다
if문을 사용하여 분기점을 많이 만들면 가독성도 떨어지고 코드가 복잡해진다. 반면 switch
문을 사용하면 더 간결하게 표현할 수 있다.
switch(변수) {
case 표현식1: 실행문1
...
[break]
case 표현식2: 실행문2
...
[break]
default:
...
[break]
}
()
안에 변수 또는 표현식이 case
와 일치하면 그 case에 있는 실행문이 실행되고 break를 만나 다음 case로 넘어가지 않는다.
let a = 2 + 2;
switch (a) {
case 3:
alert( 'a는 3입니다.' );
break;
case 4:
alert( 'a는 4입니다.' );
break;
case 5:
alert( 'a는 5입니다.' );
break;
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
변수에 입력된 4가 case에 있는 a와 비교하여 일치하는 case를 만났을 때 실행문이 실행된다.
조건과 일치하는 case표현식을 만나지 않았을 경우 default
를 출력하게 된다.
case문 안에 break문이 없으면 조건에 부합하는지 여부를 따지지 않고 뒤에 이어지는 case문을 실행한다.
let a = 2 + 2;
switch (a) {
case 3:
alert( 'a는 3입니다.' );
break;
case 4:
case 5:
alert( 'a는 4 또는 5입니다.' );
break;
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
case4
case5
를 묶어서 같이 쓰게되면 a
가 4
또는5
일때 alert( 'a는 4 또는 5입니다.' );
가 출력된다