조건문이 헷갈려서 개념을 다시 잡고 간다.___(20210517 더 추가)
조건문이란?
프로그래밍 언어의 흐름을 변경할 수 있는 제어문 중 하나.
if 조건문 | if else 조건문 | if else if 조건문 | switch 조건문 |
if (<Boolean 표현식>){ <문장> } |
if (<Boolean 표현식>) { <문장> } else { <문장> } |
if (<Boolean 표현식>){ <문장> } else { <문장> } |
switch (<비교할 값>) { case <값>: <문장> break; case <값>: <문장> break; default: <문장> break; } |
* if 조건문
Boolean 표현식이 true면 문장을 실행하고, false면 문장을 무시.
아래 예제의 실행결과는 'result : true'다. if 뒤에 true가 왔기 때문이다.
if(true){
alert('result : true');
}
이 예제는 아무것도 출력하지 않는다. if 뒤에 false가 왔기 때문이다.
if(false){
alert('result : true');
}
다음 예제를 보자. 결과는 12345를 출력할 것이다.
if(true){
alert(1);
alert(2);
alert(3);
alert(4);
}
alert(5);
다음 예제는 아무것도 출력하지 않을 것이다. if 뒤에 false가 왔기 때문이다.
if(false){
alert(1);
alert(2);
alert(3);
alert(4);
}
alert(5);
왜 그럴까?
if 문의 조건이 참이면 중괄호의 시작({}부터 중괄호의 끝(})까지의 구간이 실행되기 때문이다.
거짓이면 중괄호 구간이 실행되지 않기 때문에 alert(5); 구문만 실행된 것이다.다음 예제를 실행해보자. 결과는 5만 출력될 것이다.
+ if 문에서 실행될 실행문이 한 줄 뿐이라면 중괄호({})를 생략할 수 있다.
* if else 조건문
서로 반대되는 상황을 표현하는 조건문
예) 오전이면 오후가 아니고, 오후라면 오전이 아니다.
else 키워드는 if 조건문과 함께 사용하는 키워드.
if 조건문의 바로 뒤에 붙여 사용함.
if (<Boolean 표현식>) {
// <Boolean 표현식>이 참일 때 문장 A 실행
<문장 A>
} else {
// <Boolean 표현식>이 거짓일 때 문장 B 실행
<문장 B>
}
if 조건문과 마찬가지로 실행문이 한줄 이면 중괄호({})를 생략할 수 있지만, 여러 문장을 실행할 때는 중괄호로 감싸야 함.
if else 조건문을 사용하면 if 조건문을 두 번 사용할 필요가 없으며
if 조건문의 조건 하나를 처리하는 횟수가 줄어 실제 성능 향상에 조금이나마 도움이 되기도 한다고 합니다.
* 중첩 조건문
조건문 안에 조건문을 중첩해 사용하는 것.
if (<Boolean 표현식1>) {
// Boolean1이 참일 때 실행
if (<Boolean 표현식2>) {
// Boolean2가 참일 때 문장 A 실행
<문장A>
} else {
// Boolean2가 거짓일 때 문장 B 실행
<문장B>
}
} else {
// Boolean2가 거짓일 때 실행
if (<Boolean 표현식3>) {
// Boolean3이 참일 때 문장 C 실행
<문장C>
} else {
// Boolean3이 거짓일 때 문장 D 실행
<문장D>
}
}
* if else if 조건문
if 조건문은 조건이 한 문장이라면 중괄호를 생략해도 된다.
겹치지 않는 세가지 이상의 조건을 나눌 때 사용
if (<Boolean 표현식1>) {
// Boolean1이 참일 때 문장 A 실행
<문장A>
} else if (<Boolean 표현식2>) {
// Boolean1 이 거짓이고 Boolean2가 참일때 문장 B 실행
<문장B>
} else if (<Boolean 표현식3>) {
// Boolean 1, 2 가 거짓이고 Boolean3이 참일때 문장 C 실행
<문장C>
} else {
// Boolean 1, 2, 3 이 거짓일 때 실행
<문장>
}
else if를 이용하면 조건문을 좀 더 풍부하게 할 수 있다. 아래 예제를 보자. 결과는 2다.
if(false){
alert(1);
} else if(true){
alert(2);
} else if(true){
alert(3);
} else {
alert(4);
}
조건문에서 트루가 나오면 이미 트루가 나왔기 때문에 그 이후는 무시하고 alert 2만 출력
다음 예제의 결과는 3이다.
if(false){
alert(1);
} else if(false){
alert(2);
} else if(true){
alert(3);
} else {
alert(4);
}
세번째의 조건문이 true이기 때문에 alert 3을 출력하고 그 이후는 무시
다음 예제의 결과는 4다.
if(false){
alert(1);
} else if(false){
alert(2);
} else if(false){
alert(3);
} else {
alert(4);
}
첫번째부터 세번째까지의 조건문은 false이기 때문에 그 세가지 외인 else의 alert 4가 출력
* switch 조건문
기본적인 형태
switch (<비교할 값>) {
case <값>:
<문장>
break;
case <값>:
<문장>
break;
}
switch 조건문은 대부분 특정 값의 조건을 비교할 때 사용.
break 키워드의 의미
break 키워드는 switch 조건문이나 반복문을 빠져나가려고 사용하는 키워드.
코드를 읽다가 break 키워드를 만나면 break 키워드를 감싼 switch 조건문이나 반복문을 완전히 빠져나감.
if ( ) _
https://dorey.github.io/JavaScript-Equality-Table/
'자바스크립트 > 기초' 카테고리의 다른 글
TIL_이것저것 (0) | 2021.05.17 |
---|---|
복합대입연산자 (0) | 2021.05.15 |
반복문 (1) | 2021.05.15 |
문자열 (string) (0) | 2021.05.15 |
자바스크립트에서 x의 제곱(x squared)을 구하는 세가지 방법 (0) | 2021.05.15 |