본문 바로가기

자바스크립트/기초

조건문 (Conditional Statement)

조건문이 헷갈려서 개념을 다시 잡고 간다.___(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면 문장을 무시. 

if 조건문 예시 그림

아래 예제의 실행결과는 '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 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